只需在Ubuntu上安装Swift,就感到惊讶的是,执行swift
运行的是一种语言外壳程序(又称REPL),类似于Python的交互式外壳程序。
要感受一下我刚接触的Swift语言,我想声明一些对象并查看它们提供了哪些方法。在Python中,这是通过内置函数dir(object)
实现的,该函数返回对象属性的名称。如果不带参数调用它,它将返回当前本地作用域中的变量和模块名称的列表。 –这两种行为在Shell中都非常有用。
Python shell还具有一个非常有用的help()
函数,该函数调用内置的帮助系统。通过调用help(object)
,您可以读取对象类上的Python参考。
Swift REPL中是否有Python的等效help()和dir()?
更具体地说:
(如果有帮助,我有Swift版本4.2.1,LLDB版本6.0.0)
答案 0 :(得分:1)
Swift没有类似help()
的方法,但是您可以使用lldb命令。
您可以在Swift REPL中输入:
,以使Shell切换到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命令,可以在lldb模式下使用help
命令。