トップ «前の日(03-27) 最新 次の日(03-29)» 追記   RSS 1.0 FEED  

Journal InTime


2001-03-28 (Wed)

_ Cappuccino開発者に聞く!

yendot.orgで、

<URL:http://pcweb.mycom.co.jp/news/2001/03/26/07.html>

が紹介されてるのを見て、suzukiの人かな、とか思ったらぜんぜん違った。 そりゃ、そうですよね。


2003-03-28 (Fri)

_ 正規表現

ruby-devで正規表現の読みやすさが問題になっているけど、正規表現ってやっぱり 読みにくいな。

最近のRubyでは正規表現にコメントを埋め込むことができるからまだましかもしれないけど…。 (net/imap.rbなんてコメントがなかったら自分にも読めません。)


2004-03-28 (Sun)

_ [言語] Groovyの空のmap

# Mapにも [] を使うのは面白い。 しかし、空のMapはどうする

つもりか。 AWKやPHPのようにListはたまたまkeyが整数のMapというわけ

ではなさそうだし。

[Matzにっきより引用]

SyntaxForTuplesListsMapsを見ると、 [:]のように記述するみたいですね。

_ [その他] 花見

玉湯は川沿いにずっと桜が植えられているのでちょっと花見に。 といっても、ほんとに花を見ただけだけど。

途中で、「あー、デジカメ持って来とけばよかったかな」と思ったけど、 かえってなくてよかったかもしれない。

割とよく咲いてたけど、たぶん、来週がいい頃合いでしょうね。 雨が降って散ったりしなければ。


2005-03-28 (Mon)

_ [Ruby] ローカル変数のスコープ

class SpoofSocket
  attr_reader :input, :output

  def initialize(s)
    @input = StringIO.new(s)
    @output = StringIO.new
  end

  for mid in [:read, :gets, :getc]
    define_method(mid) do |*args|
      @input.send(mid, *args)
    end
  end
end

というコードが動かなくてはまった。 (SpoofSocket#readで、@input.send(:getc, ...)が呼ばれてしまう。)

正しくは、

[:read, :gets, :getc].each do |mid|
  define_method(mid) do |*args|
    @input.send(mid, *args)
  end
end

のように、ブロックを使わないといけない。