2001-11-01 (Thu) [長年日記]
_ デバッグパターン
なんてものがあるらしい。
<URL:http://mono-ki.hoops.ne.jp/diary/txt/computer/debugpatern.html>
Cのcaseラベルのdefault:の綴り間違いは、emacsならC modeでlabelとcase-labelのoffset を変えると防ぎやすい。
2001-11-02 (Fri) [長年日記]
_ jellyfish
<URL:http://www01.u-page.so-net.ne.jp/za2/ooe/CoolSounds/cool04/sounds4.html>
1作目では何てことなかったジェリーフィッシュ。
何だとおぉぉぉぉ。
ところで、アンディ・スターマーは今ごろ何してるんでしょうか。
_ やだべんじょ
IRCで「やだべんじょ」と言ったら「なにそれ」と言われた。
言われてみると「やだべんじょ」って何だろう。 「やだ」と「和田勉」と「便所」をかけてるんじゃなかろうかというのが私の仮説。
2001-11-09 (Fri) [長年日記]
_ Wasabi Systems
Wasabi Systemsのステッカーはかなりイカしてる。
<URL:http://www.wasabisystems.com/products/products.html>
購入した友人にもらえるので、もらったら車に貼ろっと。 (右翼と間違えられたりしませんように。)
2001-11-19 (Mon) [長年日記]
_ C MAGAZINE 12月号
私の連載の最終回の枕の部分をまつもとさんの奥さんが読まれて勘違いをされたらしい。 あまりよくないジョークだったと反省。
2001-11-22 (Thu) [長年日記]
_ Schwartzian Transform
ってのを試してみたら、
ary.collect {|i| [i.key1, i.key2, i]}.sort.collect {|j| j.last}
みたいな時に、最初のブロックのiが<=>を持ってないと、key1/key2が同じ値の要素があった時に、
test.rb:24:in `<=>': undefined method `<=>' for #<Foo:0x401b794c> (NoMethodError) from test.rb:24:in `sort' from test.rb:24
のようなエラーになってしまう。(当たり前か。)
<=>を定義せずに済ませることってできないかなあ。 たとえば、いくつかの属性を持つオブジェクトがあったとして、どの属性も重み(?)が同じだとすると、 デフォルトの<=>って定義したくないような気がするんだけど。 それにデフォルトの<=>があったとしても、上の例ではほんとは呼ぶ必要はない(配列に入れてるのは 比較に利用するためじゃなくて後で値を取り出すためだから)わけだし。
class STArray < Array attr_reader :value def initialize(value, *args) @value = value replace(args) end end ... p ary.collect {|i| STArray.new(i, i.key1, i.key2)}.sort.collect {|i| i.value}
くらいかなあ。ちょっとおおげさ?
2001-11-26 (Mon) [長年日記]
_ Schwartzian Transform
まつもとさん曰く、
n = 0 ary.collect {|i| [i.key1, i.key2, n+=1, i]}.sort.collect {|j| j.last}
みたいにindexを入れるのがフツーなんだそうですが、別にstable sortを求めてない時とかは 無駄な感じがするし、n = 0が何となく嫌だなあ。
それはそれとして、
ary.sort_by {|i| [i.key1, i.key2]}
って上のRubyで書いた例より遅いような気が。
2001-11-28 (Wed) [長年日記]
_ comp.lang.ruby
comp.lang.rubyでerubyに関する質問があった(けっこう前だったらしい)ので broken englishで投稿。 記事が多くてなかなかfollowできないんだよな。