如何使用Dlang在范围块中写入多条语句?

如何使用Dlang在范围块中写入多条语句?,d,D,我想在一个范围块中编写多个语句,如下所示: 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 =

我想在一个范围块中编写多个语句,如下所示:

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
如果需要返回值,长格式是
(s){return x;}