Есть ли в SBT
способ отображения типа данных метода Scala?Получить тип метода в Scala sbt REPL
В GHC
(Haskell) мы можем сделать:
:t something
Есть ли подобная команда в SBT
?
Есть ли в SBT
способ отображения типа данных метода Scala?Получить тип метода в Scala sbt REPL
В GHC
(Haskell) мы можем сделать:
:t something
Есть ли подобная команда в SBT
?
При вызове метода с _
, вы увидите аргументы и тип возвращаемого полученного частично примененного метода:
scala> def helloWorld(i: Int): Option[Int] = { Some(i) }
helloWorld: (i: Int)Option[Int]
scala> helloWorld _
res0: Int => Option[Int] = <function1>
Нет, 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]
Это на самом деле называется * частично Применяемый метод * –
спасибо, добавил разъяснения. –