トップ «前の日記(2001-07-25) 最新 次の日記(2001-07-27)» 月表示 編集

日々の流転


2001-07-26 [長年日記]

λ. 4:30起床。朝食はパン。昼食は焼きそば。夕食は…何だっけな。「お江戸でござる」が面白かった。「頭隠して頭隠さず」ってそういう意味か。

λ. Gimp-Ruby

PDBの関数にmethod_missingでマップしている部分のコードが、クラス間で重複してたのでTemplate Method パターンで、散らばってたコードを少しまとめるというのを0.6.0でやった。

今、ちょっと逃避気味で、PDBの呼び出しをトレースする機能を付けてみたりしてる。Gimp-Pythonと違って、PDB::Procedure#call経由で呼ぶように設計していたおかげで、Cレベルでの幾つかの例外を除いて全部引っかかってちょっと気持ち良い。

あと、例のregisterのシンタックス。安易ではあるけど、次のようにしてみたら、結構良い感じ。

  1. ブロックが渡されていたらそれ
  2. 最後の引数でオブジェクトが渡されていたらそれをcall
  3. どちらも無かったら、関数名をObjectに__send__して、トップレベルの関数を呼び出す
Tags: gimp ruby

λ. Rouge(る〜じゅ)

おぉ。RougeがRubyist!で紹介されててビックリ。高橋さんに感謝。しかし、これって実用性はアレなんで、遊ぶ以上のことはちょっと… という気がします。

Tags: scheme ruby

λ. ピアノ

比較的調子良い。でも、まだまだだな。夏休み中に弾けるようになりたい曲もあるし、もうちょっと頑張ろう。

λ. 行列

ちょっと前にRubyの行列クラス内の割算の問題を書いたら、[ruby-list:30703]で同じ話題が。これって偶然? それとも僕の日記読んだのかな? だからどうというわけでも無いけど、ちょっと気になる。

λ. 多重代入

個人的には、多値を配列を使って表現しているのは、Rubyの汚点の一つだと思う。単一の配列オブジェクトを返そうとしているのか、複数の値を返そうとしているのかを区別しないというのは気持ち悪いし。

Tags: ruby

ところで、こんな感じの事が出来たらよいなぁ。とか時々思う。

def identity(*args)
  *args
end

identity()
=> nil

identity(1)
=> 1

identity("hogehoge", "fugafuga")
=> "hogehoge", "fugafuga"