我想从另一个联系人那里得到数组的长度。怎么样?
contract Lottery {
unint[] public bets;
}
contract CheckLottery {
function CheckLottery() {
Lottery.bets.length;
}
}
答案 0 :(得分:6)
您必须在源合约中公开您想要的长度作为函数返回值。
调用合同将需要ABI和合同地址,该地址通过下面的状态var和构造函数处理。
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();
}
}
希望它有所帮助。