在Solidity中设置数组的长度属性
Setting the length property of array in Solidity
设置数组的 length
属性 有什么作用。在大多数其他语言中,length
是一个 return arra 长度的函数,但在此代码中,length
属性 被设置。
struct ledger_t {
uint8 WinningNum1;
uint8 WinningNum2;
uint8 WinningNum3;
uint8 WinningNum4;
bytes32 ClosingHash;
bytes32 OpeningHash;
mapping(address=>bet_t) bets;
uint Guess4OutOf4;
uint Guess3OutOf4;
uint Guess2OutOf4;
uint Guess1OutOf4;
uint PriceOfTicket;
uint ExpirationTime; //for eventual refunds only, ~2 weeks after draw announced
}
ledger_t[] public ledger;
//constructor
function TheEthereumLottery() {
owner = msg.sender;
ledger.length = 0;
IndexOfCurrentDraw = 0;
referral_fee = 90;
}
Solidity 数组的 length
属性 可用于获取和设置该数组的长度。要获得长度,只需从 属性:
读取
l = ar.length
要为数组设置新长度,只需分配新的长度值即可:
ar.length = 5
这与大多数实现特定函数以获取和设置数组长度的语言不同。
设置数组的 length
属性 有什么作用。在大多数其他语言中,length
是一个 return arra 长度的函数,但在此代码中,length
属性 被设置。
struct ledger_t {
uint8 WinningNum1;
uint8 WinningNum2;
uint8 WinningNum3;
uint8 WinningNum4;
bytes32 ClosingHash;
bytes32 OpeningHash;
mapping(address=>bet_t) bets;
uint Guess4OutOf4;
uint Guess3OutOf4;
uint Guess2OutOf4;
uint Guess1OutOf4;
uint PriceOfTicket;
uint ExpirationTime; //for eventual refunds only, ~2 weeks after draw announced
}
ledger_t[] public ledger;
//constructor
function TheEthereumLottery() {
owner = msg.sender;
ledger.length = 0;
IndexOfCurrentDraw = 0;
referral_fee = 90;
}
Solidity 数组的 length
属性 可用于获取和设置该数组的长度。要获得长度,只需从 属性:
l = ar.length
要为数组设置新长度,只需分配新的长度值即可:
ar.length = 5
这与大多数实现特定函数以获取和设置数组长度的语言不同。