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