2011年6月17日金曜日

Code Eval (コードをさらすのでご注意ください)

Fizz Buzzはこんな感じでしたの巻

あ、コードをさらしちゃうので、自分でがんばりたい人はパスしてください。
ちなみに、Rubyです。

class FizzBuzz

 attr_accessor :a, :b, :num 

 def initialize(a, b, num)
  self.a = a
  self.b = b
  self.num = num
 end

 def generate
  arr = []
  num.to_i.times { |i|
   str = "" 
   if ((i + 1) % a == 0)
    str = "F"
   end
   if ((i + 1) % b == 0)
    str += "B"
   end
   if (str.size == 0)
    str = i + 1
   end
   arr << str
  }
  arr
 end

 def print
  puts generate.join(" ")
 end
end

f = ARGV[0]
if File::file?(f) && File::exists?(f)
 begin
  File::open(f).each { |l|
   arr = l.split(" ")
   fb = FizzBuzz.new(arr[0].to_i, arr[1].to_i, arr[2].to_i)
   fb.print
  }
  exit 0
 rescue
 end
end
exit -1

0 件のコメント:

コメントを投稿