Ruby Kernel#exit
采用状态代码参数。此代码对应于exit(3)
C函数调用,C库为其提供预定义常量。使用常量比使用文字整数更具可读性。 macOS exit(3)
手册页说:
The C Standard (ISO/IEC 9899:1999 (``ISO C99'')) defines the values 0,
EXIT_SUCCESS, and EXIT_FAILURE as possible values of status. Cooperating
processes may use other values; in a program which might be called by a
mail transfer agent, the values described in sysexits(3) may be used to
provide more information to the parent process.
Ruby是否提供与上面引用的EXIT_SUCCESS
等状态代码相对应的常量?最好是在语言本身,标准库或者其他任何东西,然后作为Ruby宝石。
答案 0 :(得分:2)
正如Kernel#exit
的文档中所述:
状态的
true
和FALSE
分别表示成功和失败。
更具体地说:
exit(true)
(或只是exit
)对应EXIT_SUCCESS
exit(false)
对应EXIT_FAILURE
基础C code:
switch (status) {
case Qtrue:
istatus = EXIT_SUCCESS;
break;
case Qfalse:
istatus = EXIT_FAILURE;
break;
// ...
}
其他值取决于系统,因此C标准中没有常量。