2008-09-23から1日間の記事一覧

急にFizzBuzz

モジュールによるMonkey Patch。 module FizzBuzz Divisor = [ 3, 5 ] Strings = [ 'Fizz', 'Buzz' ] def fizzbuzz (rests = Divisor.map{|d| self % d == 0}).inject{|r, i| r || i } ? rests.zip(Strings).map{|r, s| r && s }.select{|x| x }.join : self…

インタプリタのスタックトレースの真似

例外が補足されずに終わったときのやつのこと。 def print_stack_trace(ex) $stderr.puts "#{ex.backtrace.shift}: #{ex.message} (#{ex.class.name})" $stderr.puts ex.backtrace.map{|b| "\tfrom #{b}" } end