我精通Python,但对Scala还是个新手。我正准备用Scala编写一些不规范的实验代码,突然想到如果Scala有像Python中的help()
函数那就太方便了。例如,如果我想查看Scala Array
的内置方法,我可能想要键入类似于help(Array)
的内容,就像在Python中键入help(list)
一样。Scala中是否存在这样的函数?
我精通Python,但对Scala还是个新手。我正准备用Scala编写一些不规范的实验代码,突然想到如果Scala有像Python中的help()
函数那就太方便了。例如,如果我想查看Scala Array
的内置方法,我可能想要键入类似于help(Array)
的内容,就像在Python中键入help(list)
一样。Scala中是否存在这样的函数?
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
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
有时候,尽管有些让人望而却步,但在方法上使用Tab键补全会显示方法签名。以下是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]
help()
优雅,但我想它能够达到其目的。谢谢! - Raysbt-man 是一个用于查找 Scaladoc 的 sbt 插件。使用 sbt console
命令能够在 classpath 上启动 Scala REPL 并加载项目类和依赖。
示例:
man Traversable /:
[man] scala.collection.Traversable
[man] def /:[B](z: B)(op: (B ⇒ A ⇒ B)): B
[man] Applies a binary operator to a start value and all elements of this
collection, going left to right. Note: /: is alternate syntax for foldLeft;
z /: xs is the same as xs foldLeft z. Note: will not terminate for infinite-
sized collections. Note: might return different results for different runs,
unless the underlying collection type is ordered. or the operator is
associative and commutative.