【问题标题】:Python's dir() and help() equivalents in Swift REPLSwift REPL 中 Python 的 dir() 和 help() 等价物
【发布时间】:2018-12-20 14:49:50
【问题描述】:

刚刚在 Ubuntu 上安装了 Swift,并且惊喜地发现执行 swift 会运行一个语言 shell(又名 REPL),类似于 Python 的交互式 shell。

为了感受 Swift 语言,这对我来说是新的,我想声明一些对象,看看它们提供了哪些方法。在 Python 中,这是通过内置函数 dir(object) 实现的,它返回对象属性的名称。如果您不带参数调用它,它会返回当前本地范围内的变量和模块名称列表。 – 这两种行为在 shell 中都非常有用。

Python shell 还有一个非常有用的help() 函数,它调用内置的帮助系统。通过调用help(object),可以读取对象类的Python引用。

在 Swift REPL 中是否有 Python 的 help() 和 dir() 等价物?

更具体地说:

  • 我可以获得当前声明的变量列表吗?
  • 我可以查看 shell (REPL) 中的对象方法列表吗?
  • 我可以在 shell 中读取对象引用吗?

(如果有帮助,我有 Swift 版本 4.2.1,LLDB 版本 6.0.0)

【问题讨论】:

    标签: swift lldb


    【解决方案1】:

    Swift没有help()这样的方法,但是你可以使用lldb命令。 你可以在 Swift REPL 中输入 : 让 shell 切换到 LLDB 模式。

    我可以查看 shell (REPL) 中的对象方法列表吗?
    type lookup ClassNameOfInstance

    我可以获得当前声明的变量列表吗?
    image lookup -rs lldb_expr

    我可以在 shell 中读取对象引用吗?
    expression -l swift -- instanceName

    使用c命令退出LLDB模式。

    补充:

    • 当您在 Swift REPL 中定义变量时,Swift Repl 会为每个变量生成诸如 $__lldb_expr2$__lldb_expr3 之类的模块。

    • 如果想了解lldb命令,可以在lldb模式下使用help命令。

    【讨论】:

    • 对象引用是指单个对象的文档。就像您在 Python shell 中键入 help([1,2,3]) 一样,您将看到列表对象的文档。除此之外,谢谢,这是我一直在寻找的。​​span>
    猜你喜欢
    • 1970-01-01
    • 2015-08-31
    • 1970-01-01
    • 2014-11-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-25
    • 1970-01-01
    相关资源
    最近更新 更多