/ / “True && E” връща “E” в Scala? - скала

"True && E" връща "E" в Scala? - скала

В хода на Scala в Coursera (лекция 1.4, около 3 минути), Мартин Одерски казва, че изразът true && e винаги се връща e (e е всеки обект). И изражението false || e също се връща e, Той обяснява, че понякога последният израз не винаги се оценява.

Но когато изпълня тези изрази, получавам error: type mismatch, За true && 5 взимам found: Int(5); required: Boolean

Скала еволюирала ли е напоследък или какво правя погрешно?

Отговори:

6 за отговор № 1

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 Справочник, точка 6.16 Условни изрази, дадени:

if (e1) e2 else e3

Очаква се условието e1 да съответства на типаБулева. Тогавашната част e2 и e3 от другата част се очаква да съответстват на очакваното тип на условния израз. Типът на условния израз е слабата най-малка горна граница (§3.5.3) на видовете e2 и e3.