经典的 with
block 在 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.");
如果它不可用,您将如何更新嵌套结构的多个字段?在 C++ 中,我会将 nested 分配给一个引用。
最佳答案
你为什么不咨询D Language Reference ?只需点击几下,我就找到了 http://dlang.org/statement#WithStatement ,这回答了你的问题。 如果你懒得点击链接,这里是简短的回答:是的,D 有 with statement ,它的行为完全符合您的要求。
关于d - D语言中的"With" block ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24136403/