gpt4 book ai didi

matrix - 如何在solidity中定义矩阵?

转载 作者:行者123 更新时间:2023-12-04 17:31:11 26 4
gpt4 key购买 nike

我想以坚固的方式定义矩阵。
首先,我尝试像这样定义 1×3 矩阵

contract test{
uint8[5] public uintArray = [1, 2, 3];

但是,这个数组只允许我取一个元素。
ex)uintArray(0) ---> 1
uintArray(1) ---> 2
uintArray(2) ---> 3

请教我如何在solidity中定义矩阵。

附加说明:我最终想使用更复杂的矩阵,所以我想知道更复杂的矩阵。
[1 5 7
8 5 7
8 6 9]

最佳答案

多维数组本质上是嵌套数组(包含其他数组的数组)。然而,这些在 Solidity 中以三种形式出现。我们在第一个例子中使用二维数组

T[k][k] : Two-Dimensional, Fixed-size
T[][] : Two-Dimensional, Dynamic-size
T[][k] or T[k][] : Two-Dimensional, Mixed-size

但是你会看到多维数组可以有任何级别的嵌套!这里有些例子
T[2][2][2] : Three-Dimensional, Fixed-Size (all k are the same)
T[2][8][4][12] : Four-Dimensional, Fixed-Sizes ( k‘s are of different values)
T[][][][][] : Five-Dimensional, Dynamic-Size
T[][3][2][][9][] : Six-Dimensional, Mixed-Size

如您所见,动态大小和固定大小可以混合在嵌套数组中。但是,必须提及有关嵌套数组的两个重要注意事项。

请参阅这些文章中的详细说明和示例:
  • https://medium.com/@jeancvllr/solidity-tutorial-all-about-array-efdff4613694
  • https://hackernoon.com/arrays-in-solidity-b65c1326f48b
  • 关于matrix - 如何在solidity中定义矩阵?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59590220/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com