Подтвердить что ты не робот

Как искать методы в Scaladoc, глобально?

Есть ли вероятность, что я могу искать метод в классе, признаке или объекте через scala doc, глобально? Пример: у меня есть имя метода, и я не знаю, к какому классу он принадлежит, поэтому я могу ввести его в некоторый поиск scaladoc, и он покажет мне классы, содержащие метод с заданным именем. (PS: я бы добавил тег scaladoc, но, видимо, я недостоин...)

4b9b3361

Ответ 1

colladoc

инструмент colladoc имеет более удобный интерфейс поиска для скалядоков, чем стандартный инструмент scaladoc.

Вы можете ограничить поиск именами методов, префикс строки поиска "def", как в "def implicitly". Если вы нажмете на увеличительное стекло рядом с полем поиска, с пустой строкой поиска, вы получите следующий удобный список пробных запросов:

  • any выполняет поиск всего, что имеет слово any в его имени, определении или комментарии
  • any_ ищет все, что начинается с любого
  • //_any выполняет поиск всех комментариев, содержащих слово, которое заканчивается с помощью
  • class AnyRef выполняет поиск всех классов с именем AnyRef
  • trait _ выполняет поиск всех признаков
  • object _ выполняет поиск всех объектов
  • class A_ || class B_ выполняет поиск всех классов, начинающихся с A или B
  • class _ extends _ with _ выполняет поиск всех классов, которые расширяют класс и реализуют признак
  • var _: Int выполняет поиск всех значений или переменных типа Int, vars отображаются перед vals
  • def toString выполняет поиск всех методов с именем toString
  • def toString : String выполняет поиск всех методов с именем toString и возвращает тип String
  • def _(_) : Boolean ищет все методы с одним аргументом и returnType Boolean
  • def _(Int, _) ищет все методы с аргументами, а первый имеет тип Int
  • def _(_, *) выполняет поиск всех методов с одним или несколькими аргументами
  • def _(Iterable[_]):Int выполняет поиск всех методов, которые принимают Iterable, и возвращает Int
  • (Iterable[_]) => Int equvalent выше, синтаксис лямбда также может использоваться для поиска методов.
  • => (_, _) выполняет поиск всех методов, возвращающих кортеж с двумя элементами.
  • def _((_) => _) выполняет поиск всех методов, которые имеют один в качестве первого параметра метод, который принимает и возвращает любое значение.

К сожалению, результаты поиска colladoc могут быть сложными. Если член существует во многих чертах/классах из-за наследования (например, метод sum в API коллекций), все классы перечислены в результатах.

scaladoc Алфавитный указатель

Нет такого поиска в самом скаладоке, но есть алфавитный индекс, содержащий элементы класса/объекта/объекта. Просто нажмите на одну из букв под панелью поиска в верхнем левом углу, и вы увидите список, содержащий классы, объекты, черты и элементы, начиная с этой буквы (или символов, если вы нажмете на ссылку "#" ). Затем вы можете использовать функцию поиска в браузере, чтобы найти интересующего вас участника.

Ответ 2

Я не думаю, что есть общий, встроенный метод. Поэтому, если скайдакок онлайн, я использую своего друга Google. Например, для поиска метода, называемого left в API scala, я использую запрос:

"def left" site:http://www.scala-lang.org/api/current/

Если на моем жестком диске я использую grep.

Ответ 3

Я использую алфавитный указатель в верхнем левом углу окна поиска. Было бы неплохо, если бы были правильные функции поиска.

Было бы неплохо, если бы документы были доступны в формате справки Windows как они есть для Java, что намного удобнее, чем html javadoc, и позволяет искать методы с почти нулевой задержкой.

Ответ 4

Совсем не серебряная пуля, но может помочь вам, если вы ищете что-то в Scala и библиотеках Scalaz: scalex.

Это не просто онлайн-поисковая система, но может использоваться как инструмент CLI, так и sbt-плагин.

Раньше был такой инструмент, к сожалению, похоже, что он подстригся.