Swift Linux、"use of unresolved identifier 'exit'" 上的 2.2
Swift 2.2 on Linux, "use of unresolved identifier 'exit'"
我正在尝试退出命令行实用程序,错误代码为 Swift 2.2 on Linux。我已经尝试了 this question 中的解决方案,但我仍然得到一个未解析的标识符。复制问题的简单测试脚本:
$> 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
exit(3)
是基本的 Unix(如)API。在 Apple 平台上,这些东西由 Darwin
模块提供,并且由于 Cocoa 严重依赖于这些东西,import Foundation
也会自动为您提供 Darwin
。
在 Linux 上,基本 Unix(如)API 位于 Glibc
模块中,并且 import Foundation
不会为您传递导入它。因此,要获得 exit(3)
和其他类似的东西,您需要 import Glibc
自己。
我正在尝试退出命令行实用程序,错误代码为 Swift 2.2 on Linux。我已经尝试了 this question 中的解决方案,但我仍然得到一个未解析的标识符。复制问题的简单测试脚本:
$> 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
exit(3)
是基本的 Unix(如)API。在 Apple 平台上,这些东西由 Darwin
模块提供,并且由于 Cocoa 严重依赖于这些东西,import Foundation
也会自动为您提供 Darwin
。
在 Linux 上,基本 Unix(如)API 位于 Glibc
模块中,并且 import Foundation
不会为您传递导入它。因此,要获得 exit(3)
和其他类似的东西,您需要 import Glibc
自己。