有没有更简洁的方法在 Scala 中有条件地建立一个列表?这是我开始的地方:
(j, k) match {
case (0, 0) => List()
case (j, 0) => List((c1, j))
case (0, k) => List((c2, k))
case (_, _) => List((c1, j), (c2, k))
}
相比之下,我可以用一个字符串来做到这一点:
"" + (if (j > 0) "j-part" else "") + (if (k > 0) "k-part" else "")
这适用于 String+
运算符和""
. 但是可以用::
和列表来做类似的事情吗?