首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

TrueClass

Parent:Object

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

公共实例方法

true&obj→true 或 false 显示源

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

代码语言:javascript
复制
static VALUE
true_and(VALUE obj, VALUE obj2)
{
    return RTEST(obj2)?Qtrue:Qfalse;
}

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

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

代码语言:javascript
复制
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

代码语言:javascript
复制
static VALUE
true_xor(VALUE obj, VALUE obj2)
{
    return RTEST(obj2)?Qfalse:Qtrue;
}

inspect()

别名为:to_s

to_s→“true”显示源

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

代码语言:javascript
复制
static VALUE
true_to_s(VALUE obj)
{
    return rb_usascii_str_new2("true");
}

还有别名:检查 (inspect )

true | obj→true 显示资源

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

代码语言:javascript
复制
true |  puts("or")
true || puts("logical or")

生产:

代码语言:javascript
复制
or
代码语言:javascript
复制
static VALUE
true_or(VALUE obj, VALUE obj2)
{
    return Qtrue;
}

扫码关注腾讯云开发者

领取腾讯云代金券