Swift REPL:如何导入,加载,评估或需要.swift文件?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Swift REPL:如何导入,加载,评估或需要.swift文件?相关的知识,希望对你有一定的参考价值。
在Swift REPL中,如何导入(a.k.a. load,evaluate,require)典型的文本* .swift文件?
- 我想使用此文件中的代码:
~/src/Foo.swift
- 像这样的语法不起作用:
import ~/src/Foo.swift
为了比较:
- Swift REPL中用于框架的等效解决方案是:
import Foundation
- Ruby REPL中* .ruby文件的等效解决方案是:
require "~/src/foo"
这些是类似的问题,我/不是/我在问:
- 如何使用/制作Swift命令行脚本,可执行文件,模块等
- 如何使用/制作XCode游乐场,项目,库,框架等
- 如何使用预先存在的文件列表启动REPL。
你需要使用-I,所以如果你的modulename.swiftmodule文件在〜/ mymodules中,那么启动swift with
swift -I ~/mymodules
然后你就可以导入你的模块了
import module name
应该那么容易
在swift中,您无法导入典型的* .swift文件。
对于Import Declaration
,只能使用以下语法:
“import-declaration→attributesopt import import-kindopt import-path import-kind→typealias |结构|类|枚举|协议| VAR | FUNC import-path→import-path-identifier |进口路径identifier.import路径 import-path-identifier→标识符|运营商” 来自:Apple Inc.“The Swift Programming Language(Swift 2)”。iBooks。
可以描述为以下格式:
进口
module
进口import kind
module
.symbol name
导入module
.submodule
import head.swift
与import import-kind module.symbol-name
不相容
通常将要导入的文件编译为框架。然后将其视为模块。使用-F framework_directory/
指定第三方框架的搜索路径。
- 创建一个文件。例如:
// test.swift import headtest print("Hello World")
- 打开你的终端
- 转到创建文件的目录。
- 执行命令行
swift -F headtest test.swift
并做了。
只需在脚本顶部插入shebang行:
#!/usr/bin/env xcrun swift
看起来无法使用您提供的规范导入文件并让Xcode使用REPL。我认为你仍然可以创建一个合适的框架,但它并不完全是你所期待的。
您可以将源代码复制/粘贴到repl中并执行它。显然不理想,但有时候很有用。
以上是关于Swift REPL:如何导入,加载,评估或需要.swift文件?的主要内容,如果未能解决你的问题,请参考以下文章
如何从 Python 代码进入 REPL(读取、评估、打印、循环)
在 Clojure 中使用 repl 而不是 println