FizzBuzz問題のその後2018-02-05 01:01

FizzBuzz問題とは……

1から100までの整数を印字せよ。ただし3の倍数の場合は代わりに"Fizz"と印字し、5の倍数の場合は代わりに"Buzz"と印字し、両方の場合は"FizzBuzz"と印字せよ。

という問題で、これを*いかに短いコードで書くか*が競われています。

http://golf.shinh.org/p.rb?FizzBuzz

ブログを読み返すと、9年前の僕はこれをCで89文字で書き、当時58位(56位タイ)につけていました。しかし今現在は147位に下がっちゃってます。Cでの1位は変わらず73文字なので、Cで73~88文字でエントリーできた人がそれだけ増えたということです。

悔しいので改めて考えてみているんですが、どうしても89文字を下回れません。73文字って、どんな技なんだろう……。

cygpath2018-02-18 17:49

cygwin前提の話ですが、コマンドラインで絶対パスが必要な場合は cygpath コマンドが便利。

たとえばmakefileでコマンドhoegehogeを使いたいんだけど、hogehogeへのパラメータとして絶対パスを指定しないとエラーとなるような場合。
しかもドライブレターを含むWindowsの絶対パスじゃないとダメだとかいう場合。

なんで?って思うけど、たまにありますよね……

そんなときには
foo.x: foo.y
        hogehoge $< -o $(shell cygpath -aw $@)
てな感じで解決。