Эквиваленты Python dir() и help() в Swift REPL

Просто установил Swift на Ubuntu и был приятно удивлен тем, что выполняю swift запускает языковую оболочку (также известную как REPL), похожую на интерактивную оболочку Python.

Чтобы почувствовать язык Swift, который является новым для меня, я хотел объявить несколько объектов и посмотреть, какие методы они предоставляют. В Python это достигается встроенной функцией dir(object), который возвращает имена атрибутов объекта. Если вы вызываете его без аргументов, он возвращает список имен переменных и модулей в текущей локальной области. - Оба эти поведения очень полезны в оболочке.

Оболочка Python также имеет очень полезную help() функция, которая вызывает встроенную справочную систему. По телефону help(object)Вы можете прочитать Python ссылку на класс объекта.

Есть ли в Swift REPL какие-либо эквиваленты help () и dir () Python?

Более конкретно:

  • Могу ли я получить список объявленных переменных?
  • Могу ли я увидеть список методов объекта в оболочке (REPL)?
  • Могу ли я прочитать ссылку на объект в оболочке?

(Если это помогает, у меня Swift версии 4.2.1, LLDB версии 6.0.0)

1 ответ

Решение

У Свифта нет таких методов, как help() но вы можете использовать команды lldb. Вы можете ввести : в Swift REPL для переключения оболочки в режим LLDB.

Могу ли я увидеть список методов объекта в оболочке (REPL)?
type lookup ClassNameOfInstance

Могу ли я получить список объявленных переменных?
image lookup -rs lldb_expr

Могу ли я прочитать ссылку на объект в оболочке?
expression -l swift -- instanceName

использование c Команда для выхода из режима LLDB.

дополнение:

  • Когда вы определяете переменные в Swift REPL, Swift Repl создает такие модули, как $__lldb_expr2, $__lldb_expr3 для каждого.

  • Если вы хотите знать команды lldb, вы можете использовать help команда в режиме lldb.

Другие вопросы по тегам