summaryrefslogtreecommitdiff
path: root/golf_prelude.rb
blob: 59b5ffc345f7fe1654bf2cc13c6e107b0ca26c51 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
class Object
  def method_missing m, *a, &b
    r = /^#{m}/
    t = (methods + private_methods).sort.find{|e|r=~e}
    t ? __send__(t, *a, &b) : super
  end

  def self.const_missing c
    r = /^#{c}/
    t = constants.sort.find{|e|r=~e}
    t ? const_get(t) : superclass.const_get(c)
  end

  def h(a='H', b='w', c='!')
    puts "#{a}ello, #{b}orld#{c}"
  end
end

class Integer
  def each(&b)
    times &b
  end

  include Enumerable
end