Эквиваленты 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.