11

私は Python に堪能ですが、Scala は初心者です。help()Scala で汚い実験コードを書こうとしていますが、Scalaに Pythonのような関数があれば非常に便利だろうという考えに出会いました。たとえば、Scala の組み込みメソッドを見たい場合は、Python で入力するのと同じように、 のようArrayなものを入力したいと思うかもしれません。Scalaにそのようなものは存在しますか?help(Array)help(list)

4

5 に答える 5

5

ビルトインについては知りませんが、同じ情報を見つけるにはScaladocsを使用する必要があります。

短い説明付きのオートコンプリートがあるEclipseを使用しない限り。たとえば、「array.」と入力すると、配列のすべてのコマンドが表示されます。

于 2013-07-08T22:06:09.037 に答える
5

タブ補完は Python のヘルプに最も近いと思います。

Scala のドキュメントと、Haskell の Hoogle に似た Scalex の使用に関する @dcsobral から日付は付いていますが、まだ関連性のある投稿もあります。

これは のタブ補完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]  
于 2013-07-09T02:08:20.463 に答える
2

sbt-manはscaladoc を検索するためのsbtプラグインです。sbtconsoleコマンドは、プロジェクト クラスとクラスパスへの依存関係を使用して 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. 
于 2013-07-09T03:34:03.597 に答える