是否有SBT
方法显示Scala方法的数据类型?
在GHC
(Haskell),我们可以做到:
:t something
SBT
中是否有类似的命令?
答案 0 :(得分:1)
如果使用_
调用方法,则会看到生成的部分应用方法的参数和返回类型:
scala> def helloWorld(i: Int): Option[Int] = { Some(i) }
helloWorld: (i: Int)Option[Int]
scala> helloWorld _
res0: Int => Option[Int] = <function1>
答案 1 :(得分:1)
不,sbt只是一个构建工具。但是,您可以在scala REPL中使用相同的命令:t
。您还可以使用sbt命令console
使用当前环境从sbt启动scala REPL。正如亚历克斯已经说过的那样,你必须部分地应用方法来获得他们的类型。
一些例子:
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]