5 ms·
Also, you can't make a Ruby object falsy. So if you overload #nil? you get fun problems like: obj.nil? # => true !!obj # => true
by prosa 15y ago
Also, you can't make a Ruby object falsy. So if you overload #nil? you get fun problems like:
obj.nil? # => true
!!obj # => true
- deleted 15y ago[deleted]
- zwp 15y ago> can't make a Ruby object falsy You can override ! (see http://www.rubyinside.com/rubys-unary-operators-and-how-to-redefine-their-functionality-5610.html http://www.rubyinside.com/rubys-unary-operators-and-how-to-r... from earlier this week) so !!obj can evaluate to false. But there is still this to solve: ruby-1.9.3-p0 :008 > obj ? true : false => true ruby-1.9.3-p0 :009 > If only there was a #to_bool to override... (For the record: yuck).