Solidez: bucle while
El bucle más básico de Solidity es el whilebucle que se discutirá en este capítulo. El propósito de unwhile bucle es ejecutar una instrucción o bloque de código repetidamente siempre que un expressiones verdad. Una vez que la expresión se vuelvefalse, el bucle termina.
Diagrama de flujo
El diagrama de flujo de while loop tiene el siguiente aspecto:
Sintaxis
La sintaxis de while loop en Solidez es el siguiente:
while (expression) {
Statement(s) to be executed if expression is true
}
Ejemplo
Pruebe el siguiente ejemplo para implementar el bucle while.
pragma solidity ^0.5.0;
contract SolidityTest {
uint storedData;
constructor() public{
storedData = 10;
}
function getResult() public view returns(string memory){
uint a = 10;
uint b = 2;
uint result = a + b;
return integerToString(result);
}
function integerToString(uint _i) internal pure
returns (string memory) {
if (_i == 0) {
return "0";
}
uint j = _i;
uint len;
while (j != 0) {
len++;
j /= 10;
}
bytes memory bstr = new bytes(len);
uint k = len - 1;
while (_i != 0) { // while loop
bstr[k--] = byte(uint8(48 + _i % 10));
_i /= 10;
}
return string(bstr);
}
}
Ejecute el programa anterior siguiendo los pasos proporcionados en el capítulo Primera aplicación de Solidity.
Salida
0: string: 12