Sono esperto in Python ma un noob in Scala. Sto per scrivere un codice di esperimento sporco in Scala, e mi sono reso conto che sarebbe davvero utile se Scala avesse una funzione come help()
in Python. Ad esempio, se volessi vedere i metodi incorporati per Scala Array
, potrei voler digitare qualcosa come help(Array)
, proprio come se scrivessi help(list)
in Python. Esiste una cosa del genere per Scala?Equivalente Scala di Python help()
risposta
Non so di un built-in ma è necessario utilizzare Scaladocs per trovare le stesse informazioni.
A meno che non si usi eclissi che ha un auto completo con brevi spiegazioni. Ad esempio, ti fornirà tutti i comandi per gli array dopo aver digitato 'array.'.
Analogamente, IDEA ha il comando "Quick Documentation Look-up", che funziona per JARs Scala e Java (-Doc) e per i commenti alla documentazione del codice sorgente.
Penso che il completamento delle schede sia la cosa più vicina all'aiuto di Python.
C'è anche un datato ma ancora rilevante post da @dcsobral su utilizzando la documentazione di Scala e Scalex che è simile a Hoogle per Haskell.
Questo è il completamento della scheda nello 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
Questo è per i metodi sulla classe Array
. Non capisco perché questo non mostra i membri di valore dopo a.
scala> val a = Array(1,2,3)
a: Array[Int] = Array(1, 2, 3)
scala> a.
apply asInstanceOf clone isInstanceOf length toString update
Anche se un po 'scoraggiante al completamento scheda volte su un metodo mostra le firme dei metodi. Qui è per 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]
Il completamento della scheda non include i membri aggiunti tramite impliciti. Tuttavia, tabding è spesso più semplice di me per lo scaladoc (mi viene in mente una riflessione). –
Il completamento della scheda Hmmm sembra meno elegante di 'help()' di Python, ma immagino che serva al suo scopo. Grazie! – Ray
sbt-man è un plugin sbt per la ricerca di scaladoc. Il comando SBT console
inizia la Scala REPL con le classi del progetto e le dipendenze sul classpath
Esempio:
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.
- 1. Scala equivalente ai generatori Python?
- 2. ftp.retrbinary() help python
- 3. python "help": print docstrings
- 4. Scala equivalente a Python tornare più elementi
- 5. .pop() equivalente in scala
- 6. Ruby equivalente all'aiuto di Python()?
- 7. Haskell equivalente di Scala raccoglie
- 8. Equivalente criterio Scala
- 9. Scala equivalente a wsdl2java?
- 10. Rails + MongoMapper + EmbeddedDocument help help
- 11. Equivalente Python di Sinatra
- 12. di Python equivalente
- 13. Equivalente Python di find2perl
- 14. Equivalente Python di Jstack?
- 15. Scala Nil equivalente per Set
- 16. Scala ListBuffer (o equivalente) shuffle
- 17. Scala equivalente a Haskell monadi
- 18. Scala richiedono) equivalente in Kotlin
- 19. Scala equivalente all'API Expression di C#
- 20. scala equivalente di java campo pubblico
- 21. Scala equivalente di operatore `` ?? in C#
- 22. Equivalente Scala di Google Collections Lists.partition
- 23. Scala equivalente di nuovo HashSet (Collection)
- 24. C'è una scala equivalente alla lista di pitone di comprensione
- 25. Visualizzazione di più righe in python argparse help
- 26. Python: cosa significa la barra nell'output di help (range)?
- 27. Nim equivalente di lista Python
- 28. Python equivalente di Perl/Rubino || =
- 29. equivalente JavaScript di Python __setitem__
- 30. Equivalente rubino di python setattr()
scheda completamento nel REPL? – sschaef