Как реализовать счетчик (переменная, которая обновляется каждый раз при вызове контракта) в Solidity?

Родительский и детский контракт:

contract test{
   uint a ;
   function test() {
       a = 1;
   }
   function val() returns(uint){
       return a;
   }  
}

contract test2 is test{ 
    uint b = a++;
    function show() returns(uint){
        return b; 
    }
}

Каждый раз, когда я вызываю show(), я хотел бы получить новое значение b как a. Я не могу реализовать это, используя вышеприведенный код. Есть ли альтернатива статической переменной в Solidity? Если нет, что нужно сделать, чтобы получить желаемую работу?

6 голосов | спросил Aditi 16 AM000000110000003631 2016, 11:27:36

1 ответ


3

Это возвращает b, затем увеличивает a (и исправляет инициализацию b):

contract test2 is test{ 
    uint b;

    function test2() {
        b = a++;
    }

    function show() returns(uint){
        b = a++;
        return b; 
    }
}
ответил eth 16 PM000000120000004831 2016, 12:08:48

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132