класс TrueClass
Глобальная переменная true — единственный экземпляр класса TrueClass и представляет логическое значение «истина» в логических выражениях. Класс предоставляет операторы, позволяющие использовать true в логических выражениях.
Публичные методы экземпляра
static VALUE
true_and(VALUE obj, VALUE obj2)
{
return RBOOL(RTEST(obj2));
} И—Возвращает false если obj является nil или false, true в противном случае.
#define case_equal rb_equal
Равенство по типу — Для класса Object, по сути, то же самое, что вызов #==, но обычно переопределяется потомками для обеспечения осмысленной семантики в операторах case.
static VALUE
true_xor(VALUE obj, VALUE obj2)
{
return RTEST(obj2)?Qfalse:Qtrue;
} Исключающее ИЛИ—Возвращает true если obj является nil или false, false в противном случае.
MJIT_FUNC_EXPORTED VALUE
rb_true_to_s(VALUE obj)
{
return rb_cTrueClass_to_s;
} Строковое представление true — «true».
static VALUE
true_or(VALUE obj, VALUE obj2)
{
return Qtrue;
} ИЛИ—Возвращает true. Поскольку obj является аргументом вызова метода, он всегда вычисляется; в данном случае нет короткой логики вычислений.
true | puts("or")
true || puts("logical or")
результат:
or
Ruby Core © 1993–2022 Yukihiro Matsumoto
Licensed under the Ruby License.
Ruby Standard Library © contributors
Licensed under their own licenses.