¿Cómo buscar métodos en Scaladoc, globalmente?
(3)
¿Existe alguna posibilidad de que pueda buscar un método en una clase, rasgo u objeto a través de scala doc, globalmente? Ejemplo: tengo un nombre de método y no sé a qué clase pertenece, por lo que puedo escribirlo en alguna búsqueda de scaladoc y me mostrará las clases que contienen un método con el nombre dado. (PD: Habría agregado la etiqueta scaladoc, pero aparentemente no soy digno ...)
No creo que haya un método general incorporado. Entonces, si el scaladoc está en línea, uso a mi amigo Google. Por ejemplo, para buscar un método llamado left en la API de scala, uso la consulta:
"def left" site:http://www.scala-lang.org/api/current/
Si está en mi disco duro utilizo grep.
Uso el índice alfabético en la parte superior izquierda debajo del cuadro de búsqueda. Sería bueno si hubiera una adecuada funcionalidad de búsqueda.
También sería bueno si los documentos estuvieran disponibles en el formato de ayuda de Windows como lo son para Java , que es mucho más conveniente que el javadoc html, y le permite buscar métodos con una latencia casi nula.
colladoc
La herramienta colladoc tiene una interfaz de búsqueda más útil para los scaladocs que la herramienta estándar de scaladoc.
Puede restringir la búsqueda a los nombres de métodos prefijando la cadena de búsqueda con "def", como en "def implícitamente". Si hace clic en la lupa junto al cuadro de búsqueda, con una cadena de búsqueda vacía, obtendrá la siguiente lista práctica de consultas de muestra:
any
búsqueda de todo lo que tiene la palabra cualquiera en su nombre, definición o comentarioany_
busca todo lo que comienza con cualquier//_any
búsqueda de todos los comentarios que contienen una palabra que termina con cualquierclass AnyRef
busca todas las clases con el nombre AnyReftrait _
busca todos los rasgosobject _
busca todos los objetosclass A_ || class B_
class A_ || class B_
busca todas las clases que comienzan con A o Bclass _ extends _ with _
busca todas las clases que extienden una clase e implementan un rasgovar _: Int
busca todos los valores o variables de tipo Int, las vars se muestran antes de los valoresdef toString
busca todos los métodos con el nombre toStringdef toString : String
busca todos los métodos con el nombre toString y el tipo de retorno Stringdef _(_) : Boolean
busca todos los métodos con un argumento y returnType Booleandef _(Int, _)
busca todos los métodos con argumentos y el primero es de tipo Intdef _(_, *)
busca todos los métodos con uno o más argumentosdef _(Iterable[_]):Int
busca todos los métodos que toman Iterable y devuelven Int(Iterable[_]) => Int
equvalente a lo anterior, la sintaxis lambda también se puede utilizar para buscar métodos.=> (_, _)
busca todos los métodos que devuelven una tupla con dos elementos.def _((_) => _)
busca todos los métodos que tienen uno como primer parámetro, un método que toma y devuelve cualquier valor.
Desafortunadamente, los resultados de búsqueda de colladoc pueden ser desalentadores. Si un miembro existe en muchos rasgos / clases debido a la herencia (por ejemplo, el método de sum
en la API de colecciones), todas las clases se enumeran en los resultados.
Índice alfabético de scaladoc
No hay tal búsqueda en scaladoc en sí, pero hay un índice alfabético que contiene miembros de clase / objeto / rasgo. Simplemente haga clic en una de las letras debajo de la barra de búsqueda en la esquina superior izquierda, y verá una lista que contiene clases, objetos, rasgos y miembros que comienzan con esa letra (o símbolos, si hace clic en el enlace "#" ). Luego, puede utilizar la función de búsqueda de su navegador para buscar el miembro que le interesa.