例:名前付きインデックスまたはハッシュを使用する配列。 PHPコードのようなもの。Ethereum Solidityは連想配列をサポートしていますか?
$array = array(
"foo" => "some foo value",
"bar" => "some bar value",);
おかげ
例:名前付きインデックスまたはハッシュを使用する配列。 PHPコードのようなもの。Ethereum Solidityは連想配列をサポートしていますか?
$array = array(
"foo" => "some foo value",
"bar" => "some bar value",);
おかげ
ソリディティはマッピングと呼ばれるタイプをサポートします。
contract MappingExample {
mapping(address => uint) public balances;
function update(uint newBalance) {
balances[msg.sender] = newBalance;
}
}
http://solidity.readthedocs.io/en/develop/types.html#mappings
をソリディティは、既存の型から新しい型を作成し、構造体と呼ばれるものをサポートしています。これらは内部的に関数間で渡すことができますが、契約と外部との間にはまだありません。
はちょうどあなたがマッピング(ハッシュテーブル)で構造体を格納することができ、ヤコブは言ったことへの追加:
mapping(address => MyStruct) structsInMap;
または配列内:ここ
MyStruct[] structsInList;
は、周りの値を渡し少し例を示しますABIと互換性のある固定サイズのルールを観察する。
contract StructExample {
struct MyStruct {
bool isMyStruct;
uint amount;
address[3] addressList;
bytes32 name;
}
// storage instance of MyStruct
MyStruct myStruct;
function StructExample(
uint amount,
address address1,
address address2,
address address3,
bytes32 name)
{
myStruct.isMyStruct = true;
myStruct.amount = amount;
myStruct.addressList = [address1, address2, address3];
myStruct.name = name;
}
function getMyStruct()
constant
returns(
bool isMyStruct,
uint amount,
address[3] addressList,
bytes32 name)
{
return (
myStruct.isMyStruct,
myStruct.amount,
myStruct.addressList,
myStruct.name);
}
}
コンストラクタが設定した後に戻ってくる構造体valを示すブラウザソリディティ。
はそれがお役に立てば幸いです。