Python
用 vyper 中的值初始化 hashmap
在 Vyper 中使用 hashmaps 時,我們可以直接用多個值初始化它嗎?
我目前正在建構子中遍歷一個單獨的地址列表。
allowedAdmins: HashMap[address, bool] allowedAdminsList: address[3] = [0xADD1E55E11, 0xADD2E55E22, 0xADD3E55E33] @external def __init__(): for _admin in self.allowedAdminsList: self.allowedAdmins[_admin] = True
但是如果可能的話,是否可以在一行中初始化它。就像是
allowedAdmins: HashMap[address, bool] = [(0xADD1E55E11, True), (0xADD2E55E22, True), (0xADD3E55E33, True)]
在 vyper 中無法初始化儲存變數。在這種情況下,您可以在
__init__()
函式中初始化 hashmap,當您第一次嘗試部署智能合約時,此函式將使用您的值初始化 hashmap。文件是這樣說的:
對於儲存變數(在模組範圍內聲明),不能設置初始值
更多資訊在這裡。