〜2008年1月上旬〜
4800通ほど。過去最大は8000通弱だったけどこの以上は増えないもんなのか?
どこかでがんばってるところがあるんだろうな。
すっかり忘れてた。今頃見てないことに気づいた。
livedoor番組表のキーワードに登録しておこう。
_区切りのメソッド対応。
ゴルフ的にはto_iがt_iで呼べるようになるのがうれしいか?
% goruby -e 'p "123".t_i' 123
また、instance_variable_get, instance_variable_setみたいなのには特に有効。
% goruby -e 'instance_variable_set(:@foo,1); p @foo' 1 % goruby -e 'i_v_s(:@foo,1); p @foo' 1
setよりgetのほうが先なので単にi_vだとgetになってしまう。
しかしゴルフ的にはinstance_variable_setが使われることはたぶんない。
Vimで。とうとうループもどきで。EOFを検知するのが面倒だな。
とりあえず:h i_^Rが大活躍。
これで今までの追加機能が使えるようになった。
とりあえず1.8との違いを少し。
Kernel#sub等の削除でなかなか小さくならないと思われたが、
書いてみると結構縮むようだ。
なぜかゴルフ場と手元での結果が違うのでいろいろ調べてみたら、
~/.vimrcのどれかが影響してることが判明。というわけで、
% vim -u NONE
を推奨。ってあまりやってる人がいないわけだが。
これはなかなか面白いな。printf(1)は
引き数 format は与えられた argument すべてをコンバートするのに必要な回数分再利用される。
ということなので
% printf "#%.0s" {1..3}
は
% printf "#%.0s#%.0s#%.0s" {1..3}
と書いたのと同じになる。%.0sで引数は捨てられた形になるので、
最終的には必要な個数の#が得られると。
レンタルCD屋に無料レンズクリーナーがあったので試してみた。
世界初!!オーディオ機器を入口から出口まで、トータルにクリーニングする ハイテク・クリーナー登場
ってことらしい。 見た目は単にDVD-ROMに2個穴を開けただけの簡単なものでブラシは存在しない。
空気の流れを利用して回転により生じたエアストームが負圧の効果で加速しながらエアホールを通過し、 エアシャワーとなってレンズにピンポイント噴射。レンズを傷つける事なくリフレシュします。
とりあえず日本語でおkと言っておこう。
締め切り間際なのでsedで挑戦。
考えてみると4の倍数とか100の倍数は正規表現で比較的簡単にわかるのであった。
それをviへ移植してちょっと縮んだ。
なかなか良問だったようで、いろんな解が見れて楽しい。
sedで考えると結局のところ4の倍数は下2桁だけみればよくて
/[13579][26]$\|[02468][048]$/
と表現できる。100の倍数は
/00$/
なのでこれを組み合わせて問題の入力データで要らない組み合わせを除くと、
74B
の解になる。
まあ、こんな姑息なことをしなくても
トップの美しい解
は
どんなデータにも対応しているわけでまったくもって完敗だ。
さすがにVimではむりだろうと思ったが、環境変数TZを設定すればいけた。
ただ環境変数の設定のしかたがなかなかわからない。
helpを見まくってやっと捜し当てた。
:let $TZ="right/UTC"
というように$でprefixすると環境変数になる。
:echo strftime("%F %T", 99999979) 1973-03-03 18:46:19 :let $TZ="right/UTC" :echo strftime("%F %T", 99999979) 1973-03-03 09:46:17
で今なにげなく:h environmentしてみたらちゃんと出てくるじゃん。
まいった。
Array#to_sをjoinに、FalseClass#to_sを""に変更。
今日なにげなくbookmarkletでぐぐったら「ブックマークレット」も強調されてた。
知らなかったよ。
sed版をvimへ移植。
ついでにsedの別解ができあがる。
不思議なことにまったく違う方法なのに同じサイズに落ち着く。