Skip to content

Instantly share code, notes, and snippets.

@lnznt
Created April 28, 2012 06:46
Show Gist options
  • Save lnznt/2516612 to your computer and use it in GitHub Desktop.
Save lnznt/2516612 to your computer and use it in GitHub Desktop.
The method definition of a special name. (Ruby 1.9)
#!/usr/bin/env ruby
# -*- coding: UTF-8 -*-
#
# The method definition of a special name. (Ruby1.9)
#
class C
def a?(x) ; :foo ; end
def a!(x) ; :foo ; end
def a=(x) ; :foo ; end
def +(x) ; :foo ; end
def -(x) ; :foo ; end
def +@ ; :foo ; end
def -@ ; :foo ; end
def *(x) ; :foo ; end
def /(x) ; :foo ; end
def %(x) ; :foo ; end
def &(x) ; :foo ; end
def |(x) ; :foo ; end
def ^(x) ; :foo ; end
def ! ; :foo ; end
def ~ ; :foo ; end
def <(x) ; :foo ; end
def >(x) ; :foo ; end
def <=(x) ; :foo ; end
def >=(x) ; :foo ; end
def <<(x) ; :foo ; end
def >>(x) ; :foo ; end
def **(x) ; :foo ; end
def =~(x) ; :foo ; end
def !~(x) ; :foo ; end
def !=(x) ; :foo ; end
def ==(x) ; :foo ; end
def ===(x); :foo ; end
def <=>(x); :foo ; end
def [](x) ; :foo ; end
def []=(x); :foo ; end
end
c = C.new
p c.a? :x #=> :foo
p c.a! :x #=> :foo
p c.a = :x #=> :x
p c + :x #=> :foo
p c - :x #=> :foo
p +c #=> :foo
p -c #=> :foo
p c / :x #=> :foo
p c * :x #=> :foo
p c % :x #=> :foo
p c & :x #=> :foo
p c | :x #=> :foo
p c ^ :x #=> :foo
p !c #=> :foo
p ~c #=> :foo
p c < :x #=> :foo
p c > :x #=> :foo
p c <= :x #=> :foo
p c >= :x #=> :foo
p c << :x #=> :foo
p c >> :x #=> :foo
p c ** :x #=> :foo
p c =~ :x #=> :foo
p c !~ :x #=> :foo
p c != :x #=> :foo
p c == :x #=> :foo
p c === :x #=> :foo
p c <=> :x #=> :foo
p c[:x] #=> :foo
p c[] = :x #=> :x
# vi:set ts=2 sw=2 et:
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment