Solidez - haz ... mientras bucle
los do...while bucle es similar al whilebucle excepto que la verificación de condición ocurre al final del bucle. Esto significa que el ciclo siempre se ejecutará al menos una vez, incluso si la condición esfalse.
Diagrama de flujo
El diagrama de flujo de un do-while bucle sería el siguiente:
Sintaxis
La sintaxis de do-while bucle en Solidity es el siguiente:
do {
Statement(s) to be executed;
} while (expression);
Note - No se pierda el punto y coma que se utiliza al final de la do...while lazo.
Ejemplo
Pruebe el siguiente ejemplo para aprender a implementar un do-while bucle en Solidity.
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;
do { // do while loop
bstr[k--] = byte(uint8(48 + _i % 10));
_i /= 10;
}
while (_i != 0);
return string(bstr);
}
}
Ejecute el programa anterior siguiendo los pasos proporcionados en el capítulo Primera aplicación de Solidity.
Salida
0: string: 12