从 Swift REPL 中,我如何获取可用模块的列表?

16
从Swift REPL中,我可以通过执行import Foundation导入框架模块,例如Foundation。

有哪个命令可以在REPL上使用,以便产生可供导入的所有模块的列表?

附:

为了更加清楚我的理解:在REPL上,如果我输入“import Foundation”这些词,则可以访问Foundation类型、常量等。如果我输入“import CoreGraphics”这些词,则可以访问CoreGraphics。如果我安装了第三方库OptionKit,则键入“import OptionKit”让我使用OptionKit。这些都是可以直接从REPL导入的模块。

然而,有些模块或框架则不能。例如,如果我从REPL键入“import ParseOSX”,则会出现错误,即使从独立脚本中也可以进行“导入ParseOSX”。

我想要了解的就是,如何通过使用import命令在REPL中确定可以导入的框架或模块的列表。

补充2:

我做了一些搜索,看起来我成功从/Library/Frameworks导入的唯一第三方框架OptionKit,也是唯一具有.swiftmodule文件的框架。所有可导入的Apple框架似乎都有自己的.swiftmodule文件,您可以在/Application/Xcode.app下搜索找到它们。

因此,这表明您只能在运行时导入具有.swiftmodule文件的框架。但我不确定。


似乎相关:https://dev59.com/BWAf5IYBdhLWcg3wwlC5#xEQQoYgBc1ULPQZFA_y- - algal
1个回答

5

如果你只是想要列表,你可能需要使用:

:target modules list 

这将返回完整的模块列表。希望这有所帮助。


2
这个不起作用。它没有列出我可以导入的框架或模块,而是列出了已经加载的共享库,这并不是很有用。例如,我可以通过执行“import CoreGraphics”来导入CoreGraphics,但是“CoreGraphics”这个词在列表中并没有出现。 - algal
没问题 @algal,一切都好。我会再调查一下,看看我能否提供帮助。你的问题非常好。而且对于Swift,我们都还是新手,所以互相帮助越多越好;P - DennyLou

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接