是with
D语言的经典块吗?
我正在寻找以下行为:
struct Address {
string street;
int number;
}
struct Person {
Address address;
}
// in some function
Person p = ...
with(p.address) {
street = "Wide St.";
number = 123;
}
// I am open to other solutions, if they could work e.g.
p.address.with => { street = ...; number = ...; }
assert(p.address.street == "Wide St.");
Run Code Online (Sandbox Code Playgroud)
如果它不可用,您将如何更新嵌套结构的几个字段?在C++中,我将嵌套分配给引用.
Dej*_*kic 15
你为什么不查阅D语言参考?只需点击几下,我就找到了http://dlang.org/statement#WithStatement,它可以回答你的问题.如果你懒得关注链接,这里是简短的回答:是的,D有with语句,它的行为完全符合你的要求.