Я думаю, что я до сих пор не совсем понял, что тип() представляет во время определения функции. Поэтому я не могу привести конкретный пример каждого случая:() = > Int; Unit = > Int.
Может ли кто-нибудь дать мне простой пример функционального литерала с типом() = > Int и типа Unit = > Int соответственно? После этого, я думаю, я могу узнать, что() в точности есть.
Спасибо
* EDIT: * destin говорит, что они такие же. Но следующий тест, по-видимому, указывает иначе:() нельзя использовать в ожидании Unit.
scala> def inCase[A] ( b :Boolean, ifTrue : Unit => A, ifFalse : Unit => A ) : A =
| b match {
| case True => ifTrue()
| case _ => ifFalse()
| }
inCase: [A](b: Boolean, ifTrue: Unit => A, ifFalse: Unit => A)A
scala> inCase( True, () => 1, () => -1 )
<console>:11: error: type mismatch;
found : () => Int
required: Unit => ?
inCase( True, () => 1, () => -1 )