Swift命令行工具需要其他文件

时间:2016-01-13 23:51:31

标签: swift command-line-interface

所以我有一个脚本,它接受输入并打印任何内容。它需要访问第三方编写的文件。我的Xcode项目结构只有两个文件,main.swift和ThirdParty.swift。如果我只是从Xcode main.swift运行它,请愉快地看到ThirdParty.swift并且我将应用于实例化其中定义的对象。当我从命令行运行时,它找不到ThirdParty.swift(这几乎是预期的;它会怎么知道它在那里?)。

传递给/ usr / bin / swift的命令行选项似乎都不适合指向我想要使用的文件并将其指向当前目录也不起作用。这甚至可能还是我应该放弃?

理想的最终结果是能够执行以下操作:

./main.swift --option1 --option2 thing

但最终可以接受的地方是:

swift -X ThirdParty.swift main.swift --option1 --option2 thing

其中X是我需要传递的任何选项。

1 个答案:

答案 0 :(得分:1)

您无法将两个文件传递到“立即”模式(swift REPL模式),但您还有其他几个选项:

  1. 将这些文件动态组合到一个临时文件中(例如/bin/cat
  2. 使用swiftc将这两个文件编译为普通二进制文件。
  3. 我建议使用选项2,但这意味着每次更改代码时都需要重新编译,而且它创建的二进制文件在OS X和Linux之间无法移植。