Ethereum 获取公共数组变量(getter)的长度
我正在尝试从另一个联系人处获取数组的长度。怎么做Ethereum 获取公共数组变量(getter)的长度,ethereum,contract,solidity,Ethereum,Contract,Solidity,我正在尝试从另一个联系人处获取数组的长度。怎么做 contract Lottery { unint[] public bets; } contract CheckLottery { function CheckLottery() { Lottery.bets.length; } } 您必须在源协定中将所需的长度作为函数返回值公开 调用合同需要ABI和合同地址,通过下面的状态变量和构造函数处理 pragma solidity ^0.4.8; contr
contract Lottery {
unint[] public bets;
}
contract CheckLottery {
function CheckLottery() {
Lottery.bets.length;
}
}
您必须在源协定中将所需的长度作为函数返回值公开 调用合同需要ABI和合同地址,通过下面的状态变量和构造函数处理
pragma solidity ^0.4.8;
contract Lottery {
uint[] public bets;
function getBetCount()
public
constant
returns(uint betCount)
{
return bets.length;
}
}
contract CheckLottery {
Lottery l;
function CheckLottery(address lottery) {
l = Lottery(lottery);
}
function checkLottery()
public
constant
returns(uint count)
{
return l.getBetCount();
}
}
希望能有帮助 是的,似乎该属性(方法)在默认情况下没有公开。只是想知道为什么
getBetCount()
有6行?我没有VR 360 space dome code环境,我更喜欢保留屏幕不动产…我们知道为什么我们必须对数组使用getter
,但对于像uint256
这样的灵长类,我们可以这样称呼它们:如果我理解这个问题。。。可以对public
数组元素使用“free”getter,但对数组或整个数组的length
属性没有“free”getter。除非您真正理解其含义,否则应该避免传递整个数组。