google, short code

ちょっと頭の体操がてらコードゴルフ
今回試してみるのは、"google"という問題。
anarchy golf - google
stdinからの入力の数だけ'o'を含む"google"という文字列を出力するのです。
ほとんどそのままのはずのコードで28Byte。
で、現在の最短コードが26Byte。いきなりギリギリのところまできました。
まぁー、そんなに多様性もないからねー。

ふと思ったのだけど、新しく言語を勉強するときにコードゴルフはいいんじゃないかと思った。というか、サンプル集をまとめておいて、それを全て書き換えるところからはじめる、という勉強法。
たとえば、

  • ファイルを読み込み、それを全て標準出力に出力する
  • ファイルを読み込み、それを全て新規ファイルに出力する
  • ファイルを読み込み、行を正規表現でチェックして書き換える
  • 標準入力を読み、全て標準出力に出力する
  • 標準入力を読み、全てファイルに出力する
  • 特定の計算を行う

等。
そうすれば、そのあとはそれをベースにコピペして書きやすくなるし、一通りの言語の特長とか見えてくると思うし。
ちょっと時間をとって考えてみようかな。


以下は28Byteのgoogle Rubyコード。

puts 'g'+'o'*gets.to_i+'gle'