无法全局更改数组元素
cant change array elements globally
目前我正在开发一个以太坊 dapp。我有一个 solidity 文件如下
pragma solidity ^0.4.11;
contract ArrayOfBytes32 {
address creator;
bytes32[10] bytesArray; // size must be fixed
function getArray() constant returns (bytes32[10])
{uint8 x = 0;
while(x < bytesArray.length)
{
bytesArray[x] = "myString";
x++;
}
return bytesArray;
}
function getValue(uint8 x) constant returns (bytes32)
{
return bytesArray[x];
}
}
在此函数 getArray() returns 中正确。但是函数 getValue() 总是返回默认值,即 0000000。
在 getArray() 中所做的更改不会反映出来!任何解决方案
从 getArray()
中删除 constant
修饰符。 constant
函数不会将状态写入区块链。
目前我正在开发一个以太坊 dapp。我有一个 solidity 文件如下
pragma solidity ^0.4.11;
contract ArrayOfBytes32 {
address creator;
bytes32[10] bytesArray; // size must be fixed
function getArray() constant returns (bytes32[10])
{uint8 x = 0;
while(x < bytesArray.length)
{
bytesArray[x] = "myString";
x++;
}
return bytesArray;
}
function getValue(uint8 x) constant returns (bytes32)
{
return bytesArray[x];
}
}
在此函数 getArray() returns 中正确。但是函数 getValue() 总是返回默认值,即 0000000。 在 getArray() 中所做的更改不会反映出来!任何解决方案
从 getArray()
中删除 constant
修饰符。 constant
函数不会将状态写入区块链。