Ruby 2.4

TrueClass

TrueClass 类

Parent:Object

全局值true是类的唯一实例,TrueClass表示布尔表达式中的逻辑真值。该类提供了允许true在逻辑表达式中使用的运算符。

公共实例方法

true&obj→true 或 false 显示源

如果 obj nil或者false返回false,否则true

static VALUE true_and(VALUE obj, VALUE obj2) { return RTEST(obj2)?Qtrue:Qfalse; }

obj ===其他→true 或 false 显示来源

同样的案例 - 对于类 Object 而言,与调用实际上相同#==,但通常被后代覆盖以在case语句中提供有意义的语义。

VALUE rb_equal(VALUE obj1, VALUE obj2) { VALUE result; if (obj1 == obj2) return Qtrue; result = rb_funcall(obj1, id_eq, 1, obj2 if (RTEST(result)) return Qtrue; return Qfalse; }

true ^ obj→!obj 显示源代码

Exclusive Or - 如果 obj nil或者false返回true,否则返回为 false

static VALUE true_xor(VALUE obj, VALUE obj2) { return RTEST(obj2)?Qfalse:Qtrue; }

inspect()

别名为:to_s

to_s→“true”显示源

字符串表示形式true为“true”。

static VALUE true_to_s(VALUE obj) { return rb_usascii_str_new2("true" }

还有别名:检查 (inspect )

true | obj→true 显示资源

亦或是-Returns true。由于 obj 是方法调用的参数,因此它总是被评估;在这种情况下没有短路评估。

true | puts("or") true || puts("logical or")

生产:

or

static VALUE true_or(VALUE obj, VALUE obj2) { return Qtrue; }