在Scala我可以做到:
scala> (1 to 5).map( x => if (x % 2 == 0) x else "Not even number" )
res58: scala.collection.immutable.IndexedSeq[Any] = Vector(Not even number, 2, Not even number, 4, Not even number)
但我不能这样做:
(1 to 5).map( x => (x % 2 == 0) ? x : "Not even number" )
我明白了:
<console>:1: error: identifier expected but string literal found.
任何想法为什么?
答案 0 :(得分:2)
Scala中没有三元?
运算符,使用if/else
是实现此目的的唯一方法。