我很好奇什么是通过串联文本块来构建字符串值的最佳方式,如果其中一些块动态依赖于外部条件。解决方案应该符合Scala惯用法,没有太多的速度和内存惩罚。
例如,如何在Scala中重写以下Java方法?
public String test(boolean b) {
StringBuilder s = new StringBuilder();
s.append("a").append(1);
if (b) {
s.append("b").append(2);
}
s.append("c").append(3);
return s.toString();
}
return
语句等内容之外,我认为对于Scala来说这段代码相当符合惯用写法(而且易于理解代码流程)。 - om-nom-nom(Some("a" :: 1 :: Nil) :: (if (b) Some("b" :: 2 :: Nil) else None) :: Some("c" :: 3 :: Nil) :: Nil).flatten.flatten.mkString
? - Jiří Vypědřík