我试图在Linux上的Swift 2.2中退出带有错误代码的命令行实用程序.我在这个问题上尝试了解决方案,但仍然得到一个未解决的标识符.一个复制问题的简单测试脚本:
$> cat exit_test.swift import Foundation guard 0 == 1 else { exit(0) }
我收到以下错误消息:
$> swift exit_test.swift exit_test.swift:3:21: error: use of unresolved identifier 'exit' guard 0 == 1 else { exit(0) }
它似乎exit
不再导入Foundation
,但我不确定下一步要查看退出方式给出特定的错误代码.我在跑Swift 2.2-dev
:
$> swift --version Swift version 2.2-dev (LLVM 46be9ff861, Clang 4deb154edc, Swift 778f82939c) Target: x86_64-unknown-linux-gnu
rickster.. 9
exit(3)
是基本的Unix(like)API.在Apple平台上,这些东西都是由Darwin
模块提供的,而且由于Cocoa在很大程度上依赖于这些东西,所以也会import Foundation
自动获得Darwin
.
在Linux上,基本的Unix(如)API位于Glibc
模块中,并且import Foundation
不会为您传输该API .所以,为了得到exit(3)
和其他这样的事情,你需要import Glibc
自己.
exit(3)
是基本的Unix(like)API.在Apple平台上,这些东西都是由Darwin
模块提供的,而且由于Cocoa在很大程度上依赖于这些东西,所以也会import Foundation
自动获得Darwin
.
在Linux上,基本的Unix(如)API位于Glibc
模块中,并且import Foundation
不会为您传输该API .所以,为了得到exit(3)
和其他这样的事情,你需要import Glibc
自己.