2013-03-29 4 views

ответ

1

При вызове метода с _, вы увидите аргументы и тип возвращаемого полученного частично примененного метода:

scala> def helloWorld(i: Int): Option[Int] = { Some(i) } 
helloWorld: (i: Int)Option[Int] 

scala> helloWorld _ 
res0: Int => Option[Int] = <function1> 
+0

Это на самом деле называется * частично Применяемый метод * –

+0

спасибо, добавил разъяснения. –

1

Нет, SBT это только инструмент для сборки. Однако вы можете использовать ту же команду :t в scala REPL. Вы также можете запустить scala REPL из sbt с вашей текущей средой командой sbt console. Как уже говорилось, вы должны частично применять методы для получения своего типа.

Некоторые примеры:

scala> def foo(x: Int, y: Int): Int = x+y 
foo: (x: Int, y: Int)Int 

scala> :t foo _ 
(Int, Int) => Int 

scala> :t 3 
Int 

scala> :t List(1,2,3) 
List[Int] 
Смежные вопросы