Exceptions
Vyper 轉換 TypeMismatch 錯誤
我正在嘗試在 Vyper 中使用 convert 但收到以下錯誤:
vyper.exceptions.TypeMismatch:對於轉換的參數 1 期望 (’num_literal’, ‘int128’, ‘int256’, ‘bytes32’, ‘Bytes’, ‘address’, ‘bool’, ‘decimal’) 之一
def forLoop() -> (uint256): x: uint256 = 0 for i in [1, 2, 3]: x += convert(i, uint256) return x
在這裡它工作得很好,使用編譯器版本 0.2.8。
也許您應該嘗試將其添加到契約的頂部:
# @version ^0.2.8
也許您的函式需要裝飾器來指定它的可見性,例如:
@external def forLoop() -> (uint256): x: uint256 = 0 for i in [1, 2, 3]: x += convert(i, uint256) return x
您不需要在 0.2.12 版本上將 i 轉換為 uint256
嘗試如下。
def forLoop() -> (uint256): x: uint256 = 0 for i in [1, 2, 3]: x += i return x