Я хочу сделать это
lol = Klass.new(values)
unless lol
print "false"
end
lol.other_method # it is not nil or false, it is a Klass instance!
Но lol в этом случае не является нильским или ложным, а является объектом, который может действовать как ложный, основанный на некотором внутреннем значении. У меня есть эта альтернатива
lol = Klass.new(values)
unless lol.to_bool
print "false"
end
Но это уродливое ИМХО.
Я думал о расширении FalseClass или игре с ==, но без успеха. Любые идеи?