2008年
6月
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30

setup diary

2007|12|
2008|01|02|03|04|05|06|07|08|09|10|11|12|
2009|01|02|03|04|05|06|07|08|09|10|11|12|
2010|01|02|03|04|05|06|07|08|09|10|11|12|
2011|01|02|03|04|05|06|07|08|09|10|11|12|
2012|01|02|03|04|05|06|07|08|10|11|12|
2013|01|02|03|04|05|06|07|08|09|10|11|12|
2014|01|02|03|04|06|08|11|
2015|01|02|03|04|05|06|07|08|10|11|12|
2016|01|02|03|04|05|06|07|08|09|10|11|12|
2017|01|02|03|04|05|06|07|08|09|10|11|12|
2018|01|02|03|04|05|06|07|08|09|10|11|12|
2019|01|02|03|04|05|06|07|08|09|10|11|12|
2020|01|02|03|04|05|06|07|08|09|10|11|12|
2021|01|02|03|04|05|06|07|08|09|10|11|12|
2022|01|02|03|04|05|06|07|08|09|10|11|12|
2023|01|02|03|04|05|06|07|08|09|10|11|

2008-06-02 るびまゴルフ

_ コードの長さを競うゴルフがあるらしい。

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,~/$/,$_]*" "