如何使用 Dlang 在范围块中编写多语句?
How to write multi statements in a range block with Dlang?
我想在一个范围块中写多条语句,像这样:
long[] W = [0L];
long[] V = [0L];
array.each!(s => // "s" has following strings "3 4"
W ~= s.split(" ")[0].to!long;
V ~= s.split(" ")[1].to!long;
);
但这会导致编译错误。有没有什么办法可以写出范围内的所有语句?
只需使用稍微长一点的形式函数语法:
long[] W = [0L];
long[] V = [0L];
array.each!( (s) {
W ~= s.split(" ")[0].to!long;
V ~= s.split(" ")[1].to!long;
}
);
(s) { x; y; z; }
在任何地方都有效 s => x
有效,除了 s=>x
如果你需要 return 值,长格式是 (s) { return x; }
.
我想在一个范围块中写多条语句,像这样:
long[] W = [0L];
long[] V = [0L];
array.each!(s => // "s" has following strings "3 4"
W ~= s.split(" ")[0].to!long;
V ~= s.split(" ")[1].to!long;
);
但这会导致编译错误。有没有什么办法可以写出范围内的所有语句?
只需使用稍微长一点的形式函数语法:
long[] W = [0L];
long[] V = [0L];
array.each!( (s) {
W ~= s.split(" ")[0].to!long;
V ~= s.split(" ")[1].to!long;
}
);
(s) { x; y; z; }
在任何地方都有效 s => x
有效,除了 s=>x
如果你需要 return 值,长格式是 (s) { return x; }
.