Scala相当于Python的帮助()

Ray*_*Ray 8 python scala equivalent

我精通Python,但在Scala是一个菜鸟.我即将在Scala中编写一些脏的实验代码,并且认为如果Scala具有像help()Python 这样的函数,它会非常方便.例如,如果我想看到Scala的内置方法,Array我可能想要输入类似的东西help(Array),就像我输入help(list)Python一样.Scala有这样的事吗?

bre*_*ebs 5

我不知道一个内置的,但是您应该使用Scaladocs查找相同的信息。

除非您使用带有简短说明的自动完成功能的eclipse。例如,键入“ array”后,它将为您提供所有数组命令。


Bri*_*ian 5

我认为 tab 补全是最接近 Python 帮助的东西。

@dcsobral还发布了一篇关于使用 Scala 文档和Scalex的过时但仍然相关的帖子,这与 Haskell 的 Hoogle 类似。

这是 中的制表符补全Object Array

scala> Array.
apply                  asInstanceOf           canBuildFrom           concat                 copy                   
empty                  emptyBooleanArray      emptyByteArray         emptyCharArray         emptyDoubleArray       
emptyFloatArray        emptyIntArray          emptyLongArray         emptyObjectArray       emptyShortArray        
fallbackCanBuildFrom   fill                   isInstanceOf           iterate                newBuilder             
ofDim                  range                  tabulate               toString               unapplySeq   
Run Code Online (Sandbox Code Playgroud)

这是针对类的方法Array。不知道为什么这之后不显示有价值的成员a.

scala> val a = Array(1,2,3)
a: Array[Int] = Array(1, 2, 3)

scala> a.
apply          asInstanceOf   clone          isInstanceOf   length         toString       update  
Run Code Online (Sandbox Code Playgroud)

尽管有时有点令人畏惧,但方法上的制表符补全会显示方法签名。这是为了Array.fill

def fill[T](n1: Int, n2: Int)(elem: => T)(implicit evidence$10: reflect.ClassTag[T]): Array[Array[T]]                                                   
def fill[T](n1: Int, n2: Int, n3: Int)(elem: => T)(implicit evidence$11: reflect.ClassTag[T]): Array[Array[Array[T]]]                                   
def fill[T](n1: Int, n2: Int, n3: Int, n4: Int)(elem: => T)(implicit evidence$12: reflect.ClassTag[T]): Array[Array[Array[Array[T]]]]                   
def fill[T](n1: Int, n2: Int, n3: Int, n4: Int, n5: Int)(elem: => T)(implicit evidence$13: reflect.ClassTag[T]): Array[Array[Array[Array[Array[T]]]]]   
def fill[T](n: Int)(elem: => T)(implicit evidence$9: reflect.ClassTag[T]): Array[T]  
Run Code Online (Sandbox Code Playgroud)