3
私は、関数リテラルの戻り値の型を指定できるかどうか疑問に思っていました。例えば、私はScalaは戻り値の型を見つけるために、型推論を行いますことを知っているScala関数リテラルの戻り値の型を指定する方法はありますか?
(x:Int) => x * 2 // scala infers the type Int => Int
((x:Int) => Double) => x * 2 // does NOT compile
を持っているが、私は、コンパイラは、以前のエラーをキャッチするように明示的に型を指定したいと思います。もちろん
私は
val a: Int => Int = (x: Int) => x * 2
によってチェックを強制することができます。しかし、それは直接関数リテラルに指定することは可能でしょうか?
'(x:Int)=> x * 2.0'? '(x:Int)=>(x * 2):Double' – Dima
中括弧内のブロックに型ascriptionを使用することもできます:'(x:Int)=> {... tons of code ...}:Double ' –
完璧、ありがとう、それは私が探していたものです、私はそれを把握することができませんでした。それを答えて、私はそれを受け入れます! – ecerulm