具有功能定义bar.
swift的文件:
func bar() { println("bar") }
一个脚本可以立即运行foo.swift:
#!/usr/bin/xcrun swift -i bar()
如何从foo.swift导入bar.swift的foo()函数?
我认为现在的答案是你不能分割多个文件的代码,除非你编译代码.使用#!/usr/bin/swift执行只能用于单个文件脚本.
在http://bugreport.apple.com/提交增强请求显然是个好主意,但是在执行之前,您必须编译代码.
此外,您的foo.swift文件不能具有该名称,您必须将其重命名为main.swift.如果有多个文件正在被遵守,那么只有main.swift才允许在顶层有代码.
所以,你有这两个文件:
main.swift:
bar()
bar.swift:
func bar() { println("bar") }
并用以下代码编译/执行:
$swiftc main.swift bar.swift -o foobar $./foobar bar
如果所有的swift文件都在同一目录中,可以缩短编译命令:
$swiftc *.swift -o foobar
或者如果要搜索小目录:
$find . -iname '*.swift' | xargs swiftc -o foobar