在这个问题中,对于C,https://www.linuxquestions.org/questions/programming-9/assigning-variables-to-multiple-fields-in-a-structure-is-tiresome-897337/,是否可以将变量赋值给结构中的多个字段,而不引用每个变量的结构?有点像
struct Foo {
uint x;
uint y;
uint z;
}
Foo foo;
foo = { .x = 2, .z = 12 }编辑:我引用的帖子似乎是关于初始化结构的,我要求更多的是一次更新多个变量。在方便的情况下,下面是一个例子:
mapping(uint => Data) data;
function schedule() returns (uint);然后
data[schedule()].x = ;
data[schedule()].z = ;
data[schedule()].otherRandomThing = ;
data[schedule()].foo = ;
data[schedule()].lala = ;vs
data[schedule()] =
{
x: ,
z: ,
otherRandomThing: ,
foo: ,
lala:
}我完全赞成这是一个愚蠢的问题,不要在意,如果我不需要在我更新的每个变量前面写数据附表(),我的代码就更容易读了,这就是我在这里关心的。关于在我前面问过的上下文中调用函数的问题显然与此有关,因为这是提高可读性的另一种方法。
发布于 2020-09-30 14:39:31
不,不支持这种语法。
您可以创建一个临时引用并对其进行修改。
Data storage myData = data[schedule()];
myData.x = 1254;
myData.z = 0x576657220676f6e6e61206769766520;
myData.otherRandomThing = "u";
myData.foo = 8309;
myData.lala = "p";https://ethereum.stackexchange.com/questions/87911
复制相似问题