抽象化

fizz buzz をプログラマの試験に使おうとするのは、単純に抽象的な思考が全然できないからみたいよ。


たとえば、入力された数字が「3の倍数または10進法で表したときに3を含む」ことを判定するプログラムを書くとしようじゃないか。

def nabe(n)
end

ほらその時点で抽象化したでしょう?
そんなのできるのプログラマでも一握りの人だけだよ。

def nabe(n)
  return true if n % 3 == 0
  p = n
  while true
    q = p % 10
    p = p / 10
    return true if q == 3
    return false if p == 0
  end
end

ループ構造が作れる時点でそれは抽象化な訳ですよ。