るびまゴルフ


コードの長さを競うゴルフがあるらしい。
rubyist magazineを読んでいたら、面白いものを見付けた。昔は、マシン語で、1バイト、1クロックを減らすために努力していたのを思い出す。Rubyist Magazine - るびまゴルフ 【第 3 回】では、標準入力から読み込んで、行番号、語数、文字数、内容を表示するものが問題として出ていた。もう締め切られているかもしれないし、どうやって投稿するのかよく分からないが、とりあえず書いてみた。

$><<[$.,split.size,$_.size-1,$_]*" "while gets

46byteだが、どうだろうか。トラックバックの設定をしてみよう。

2008/6/2追記 るびまのサイトにも登録されたようである。しかし、>等はそのまま記述すれば良いようだ。

2008/6/3追記 ~/$/とすると、行末のオフセットが帰るので、文字数が表示できるらしい。すると、41byteになる。

2008/6/3追記 私の知るところ、最短は38byteのようだ。byte数は変わらないが、別のversionを作ってみた。

#!ruby -ap
$_=[$.,$F.size,~/$/,$_]*" "