Skip to content

Instantly share code, notes, and snippets.

@kek
Created August 13, 2012 15:53
Show Gist options
  • Save kek/3342113 to your computer and use it in GitHub Desktop.
Save kek/3342113 to your computer and use it in GitHub Desktop.
Option type-like (?) extension for Object
class Object
def or(els)
if block_given?
yield (self or els)
else
els
end
end
end
puts nil.or(0) { |x| x+1 }
puts 1.or(0) { |x| x+1 }
puts nil.or(0) + 1
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment