簡體   English   中英

Scala相當於Python的幫助()

[英]Scala equivalent of Python help()

我精通Python,但在Scala是一個菜鳥。 我即將在Scala中編寫一些臟的實驗代碼,並且認為如果Scala在Python中有像help()這樣的函數,它會非常方便。 例如,如果我想看到Scala Array的內置方法,我可能想要輸入類似help(Array) ,就像我在Python中輸入help(list) Scala有這樣的事嗎?

我不知道有一個內置但你應該使用Scaladocs來查找相同的信息。

除非你使用具有自動完成和簡短解釋的eclipse。 例如,在輸入“array”后,它將為您提供陣列的所有命令。

我認為tab完成是最接近Python幫助的東西。

@dcsobral還有一篇關於使用Scala文檔和Scalex的日期但仍然相關的帖子 ,類似於Hoogle for Haskell。

這是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   

這是針對類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  

雖然有時候方法上的選項卡完成有點令人生畏,但會顯示方法簽名。 這是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]  

同樣,IDEA有“快速文檔查找”命令,該命令適用於Scala以及Java(-Doc)JAR和源代碼文檔注釋。

sbt-man是一個用於查找scaladoc的sbt插件。 sbt console命令啟動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. 

在scala中,你可以嘗試使用下面的..(類似於我們在python中的那個)..

python中的help(RDD1)將為您提供rdd1描述以及完整的詳細信息。

Scala> RDD1。[tab]

在點擊選項卡上,您將找到指定RDD1可用的選項列表,您可以在eclipse中找到類似選項。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM