首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Vyper转换TypeMismatch误差

Vyper转换TypeMismatch误差
EN

Ethereum用户
提问于 2021-04-19 10:31:41
回答 2查看 189关注 0票数 1

我试图在Vyper中使用to,但得到了以下错误:

vyper.exceptions.TypeMismatch:对转换的参数1期待一个(‘num_bool’,‘one 128’,‘one 256’,‘Bytes 32’,'Bytes','address','bool',‘十进制’)中的一个

代码语言:javascript
复制
def forLoop() -> (uint256):
    x: uint256 = 0
    for i in [1, 2, 3]:
        x += convert(i, uint256)
    return x
EN

回答 2

Ethereum用户

发布于 2021-04-21 04:26:57

在这里,它工作得很好,使用编译器版本0.2.8。

也许你应该试着把这个添加到你的合同的顶部:

代码语言:javascript
复制
# @version ^0.2.8

可能您的函数需要装饰器来指定它的可见性,例如:

代码语言:javascript
复制
@external
def forLoop() -> (uint256):
    x: uint256 = 0
    for i in [1, 2, 3]:
        x += convert(i, uint256)
    return x
票数 1
EN

Ethereum用户

发布于 2021-04-21 18:59:11

您不需要在0.2.12版本上将I转换为uint256

试一试如下。

代码语言:javascript
复制
def forLoop() -> (uint256):
x: uint256 = 0
for i in [1, 2, 3]:
    x += i
return x
票数 0
EN
页面原文内容由Ethereum提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://ethereum.stackexchange.com/questions/97474

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档