0

在这里再次询问,因为无法访问以太坊堆栈交换

我有以下结构,带有提到的映射

    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 是我用作上述映射的测试索引的任何值。

4

0 回答 0