在 Solidity 合约中,括号内的函数参数本身有什么作用?
What does having a function argument inside parenthesis by itself do in a Solidity contract?
在 Solidity 合约中,括号内的函数参数本身有什么作用?
例如,在第 84-86 行找到的合约 here 中,函数的参数 _from
、_value
和 _data
各自独立括号内的线。然后 _amount
在第 91 行上它自己的行。
contract UserWallet {
...
function tokenFallback(address _from, uint _value, bytes _data) {
(_from);
(_value);
(_data);
}
function sweep(address _token, uint _amount)
returns (bool) {
(_amount);
return sweeperList.sweeperOf(_token).delegatecall(msg.data);
}
}
这只是一种抑制“未使用局部变量”警告的方法。
除此之外,它对合约的行为没有任何影响。变量已经从函数参数加载到内存中,因此即使有或没有函数体中的表达式,gas 的使用也是相同的。
function tokenFallback(address _from, uint _value, bytes _data) {
}
我无法解释为什么合同作者选择将变量括在括号中。也许这是他们发出信号的方式“这个变量没有发生任何其他事情”。但展开的表达式也有同样的效果。
function tokenFallback(address _from, uint _value, bytes _data) {
_from;
_value;
_data;
}
在 Solidity 合约中,括号内的函数参数本身有什么作用?
例如,在第 84-86 行找到的合约 here 中,函数的参数 _from
、_value
和 _data
各自独立括号内的线。然后 _amount
在第 91 行上它自己的行。
contract UserWallet {
...
function tokenFallback(address _from, uint _value, bytes _data) {
(_from);
(_value);
(_data);
}
function sweep(address _token, uint _amount)
returns (bool) {
(_amount);
return sweeperList.sweeperOf(_token).delegatecall(msg.data);
}
}
这只是一种抑制“未使用局部变量”警告的方法。
除此之外,它对合约的行为没有任何影响。变量已经从函数参数加载到内存中,因此即使有或没有函数体中的表达式,gas 的使用也是相同的。
function tokenFallback(address _from, uint _value, bytes _data) {
}
我无法解释为什么合同作者选择将变量括在括号中。也许这是他们发出信号的方式“这个变量没有发生任何其他事情”。但展开的表达式也有同样的效果。
function tokenFallback(address _from, uint _value, bytes _data) {
_from;
_value;
_data;
}