有人可以向我解释一下整个 else block 的作用吗?
它会迭代一次吗?
modifier checkEpoch {
uint256 _nextEpochPoint = nextEpochPoint();
if (now < _nextEpochPoint) {
require(msg.sender == operator(), 'Epoch: only operator allowed for pre-epoch');
_;
} else {
_;
for (;;) {
lastEpochTime = _nextEpochPoint;
++epoch;
_nextEpochPoint = nextEpochPoint();
if (now < _nextEpochPoint) break;
}
}
}
最佳答案
我从未在solidity中使用过它,但在c和javascript中它用于无限循环。
For循环将一直持续到这个条件
if (now < _nextEpochPoint) break;
它不是一个运算符。 for循环有3个参数
for (int i = 1; i <= 12; i++){}
我们不传递初始值、最终值和条件,而是将它们留空
for (;;){}
关于javascript - Solidity 中的这个语法是什么意思?为了 (;;) {},我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/73536042/