0

Coursera のScalaに関するコース(講義 1.4、約 3 分) で、Martin Oderskyは、式true && eは常に返されるe(e は任意のオブジェクト) と述べています。また、式false || eは を返しますe。彼は、最後の式が常に評価されるとは限らないと説明しています。

しかし、これらの式を実行すると、error: type mismatch. true && 5私が得るためにfound: Int(5); required: Boolean

Scalaは最近進化しましたか、それとも私は何を間違っていますか?

4

1 に答える 1

6

eブール式を表します。

Predicate: a boolean expression to be evaluated e.g. (x >= 4), (x != 0), etc

https://sites.google.com/a/stonybrook.edu/functional-programming-scala/lecture-1-4を参照


Scala Reference bookのパラグラフ 6.16 Conditional expressionsから、与えられたもの:

if (e1) e2 else e3

条件 e1 は Boolean 型に準拠することが期待されます。then 部分 e2 と else 部分 e3 は両方とも、条件式の期待される型に準拠することが期待されます。条件式の型は、e2 と e3 の型の弱い最小上限 (§3.5.3) です。

于 2013-09-30T07:18:11.967 に答える