Mapping

結構內的 Vyper 映射

  • September 1, 2019

是否可以在 vyper 的結構中進行映射?例如:

struct Teddy:
   id: uint256
   year: uint256
   component: map(uint256, uint256)

teddies: private(map(uint256, Teddy))

所以對於上面,component 以一個組件號為key,返回組件的id(例如component

$$ 0 $$= 1234,組件$$ 1 $$= 2438 …)。如果這是可能的,如果您最初不需要為組件做任何事情,您如何實例化一個實例。會不會只是:

def __init__():
   teddies[0].id = 0
   teddies[0].year = 2019

下面的程式碼在vyper.online編譯。我不得不刪除private並添加self.到您對狀態變數的訪問中teddies

struct Teddy:
   id: uint256
   year: uint256
   component: map(uint256, uint256)

teddies: map(uint256, Teddy)

@public
def __init__():
   self.teddies[0].id = 0
   self.teddies[0].year = 2019

引用自:https://ethereum.stackexchange.com/questions/74467