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;
}