Skip to content

Instantly share code, notes, and snippets.

@ippeiukai
Created July 30, 2013 12:04
Show Gist options
  • Save ippeiukai/6112366 to your computer and use it in GitHub Desktop.
Save ippeiukai/6112366 to your computer and use it in GitHub Desktop.
[Joke] true, false, and ... maybe for Ruby
class MaybeClass < DelegateClass(FalseClass)
LIKELIHOOD = 0.4
def initialize
super(rand < LIKELIHOOD)
end
def ==(obj)
obj.class == self.class
end
end
class Object
def maybe
MaybeClass.new
end
end
# try:
# maybe == false
# maybe == true
# !!maybe
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment