匿名函数中的三元运算符

时间:2018-04-16 10:18:09

标签: scala

在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.

任何想法为什么?

1 个答案:

答案 0 :(得分:2)

Scala中没有三元?运算符,使用if/else是实现此目的的唯一方法。