在这里再次询问,因为无法访问以太坊堆栈交换
我有以下结构,带有提到的映射
struct A
{
uint a;
bool[100] b;
}
mapping(uint => A) public arr;
我正在使用此函数来设置/更改上述映射的值
function B(uint _x, uint _y) public
{
arr[x].a++;
arr[x].b[y]=true;
}
但我没有得到任何输出。不知何故,这种变化没有得到反映。我做错了吗?希望对我的代码片段提出建议和更改。
我将不胜感激。蒂亚。
如果您需要进一步澄清,请在评论中提及。
除了我的问题:我在想,也许问题是我检索值的方式?如果是这样,这就是我检索值的方式。假设我的合同名称是 C。这是我的测试方式:
truffle migrate --reset
truffle console
C.deployed().then(function(instance) { app = instance })
app.B(1234).then(function(c) { t = c; })
现在,在运行这些之后,我期望 t[0] 给出 1。但它什么也没给出(未定义)。
PS-1234 是我用作上述映射的测试索引的任何值。