首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将变量赋值给结构中的多个字段

将变量赋值给结构中的多个字段
EN

Ethereum用户
提问于 2020-09-29 22:51:07
回答 1查看 451关注 0票数 0

在这个问题中,对于C,https://www.linuxquestions.org/questions/programming-9/assigning-variables-to-multiple-fields-in-a-structure-is-tiresome-897337/,是否可以将变量赋值给结构中的多个字段,而不引用每个变量的结构?有点像

代码语言:javascript
复制
struct Foo {
   uint   x;
   uint   y;
   uint   z;
}

Foo foo;

foo = { .x = 2, .z = 12 }

编辑:我引用的帖子似乎是关于初始化结构的,我要求更多的是一次更新多个变量。在方便的情况下,下面是一个例子:

代码语言:javascript
复制
mapping(uint => Data) data;

function schedule() returns (uint);

然后

代码语言:javascript
复制
data[schedule()].x = ;
data[schedule()].z = ;
data[schedule()].otherRandomThing = ;
data[schedule()].foo = ;
data[schedule()].lala = ;

vs

代码语言:javascript
复制
data[schedule()] = 
{
x: ,
z: ,
otherRandomThing: ,
foo: ,
lala: 
}

我完全赞成这是一个愚蠢的问题,不要在意,如果我不需要在我更新的每个变量前面写数据附表(),我的代码就更容易读了,这就是我在这里关心的。关于在我前面问过的上下文中调用函数的问题显然与此有关,因为这是提高可读性的另一种方法。

EN

回答 1

Ethereum用户

回答已采纳

发布于 2020-09-30 14:39:31

不,不支持这种语法。

您可以创建一个临时引用并对其进行修改。

代码语言:javascript
复制
Data storage myData = data[schedule()];

myData.x = 1254;
myData.z = 0x576657220676f6e6e61206769766520;
myData.otherRandomThing = "u";
myData.foo = 8309;
myData.lala = "p";
票数 0
EN
页面原文内容由Ethereum提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

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

复制
相关文章

相似问题

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