K.Sasada's Home Page

こめんとのついか

こめんとこめんと!

message

please add long comment :).

_16(Wed)

12月はイベントが大量にあるな・・・。どっかでRubyの会忘年会もしたいんだが・・・。時期的には Rails 勉強会あたりにぶつけるのが良さそうだけど、Kahua があるんだよな。どっちに行こう。


あと、プロシンに行かないといけないらしい。


で、やっと optparse.rb が動いた...。

最後にはまったのは、

def foo
  return nil if cond1
  if cond2
    a, b = ary1
  else
    c, d = ary2
  end
end

...

body if foo

このコード、わかりますかね。cond1 が成立したら foo は偽を返して、そうでなければ 必ず 真になる。多重代入は配列を返すんですな。

だけど、YARV では多重代入は nil を返すようにしてるんです(多重代入の返り値って自明じゃないよね)。まぁ、そんなわけではまった。しょうがないんで、optparse 対策として、多重代入は true を返すことにした。

でも、こんなことを書くと中田さんが多重代入を連鎖させたコードを書いたりするんだろうか。

というわけで、多重代入の返り値を使うのはやめましょう。


スラド経由。http://www.beasys.co.jp/news/japan/2005/2005062701.html

プロジェクト「Bare Metal」で、完全仮想化Java Cloudを実現

プロセッサにOS仮想化機能が入ってきた最近、言語処理系実装者が考えるべきことは何か。うーん、研究してみたい。


Rubyist Magazine 0011 をリリースしました。

お楽しみください。


いやー、今月も無事に出てよかった。

_向井(Wed Nov 16 02:40:31 JST 2005)

 普通の代入の場合は代入結果が返るので、多重代入の場合は配列とか多値とかが返されることを期待するのはごく普通な気がするのですが

_ささだ(Wed Nov 16 03:46:06 JST 2005)

 何を返すかは自明ではないと思います。まぁ、だから返り値は無し、というのも乱暴な気はするんですがね。うまい実装が思いつかないというのもあるんですが。

_maeda(Wed Nov 16 15:15:46 JST 2005)

 Common Lispのmultiple-value-setqは「最初の値1つ」を返しますね。並列代入(psetq)はNILを返します。

_なかだ(Wed Nov 16 18:56:26 JST 2005)

 a, b = (c, d) = 1みたいのは動かないということ?

_ささだ(Wed Nov 16 21:10:49 JST 2005)

 動かないです。というか、そういう式を書かせるのはいいことなんだろうか。


好きなだけ長いコメントをどうぞ。

お名前


back

tton 記述が使えます。YukiWikiな記述してりゃ問題ありません。

「行頭に#code」 と、「行頭に#end」 で挟むと、その間の行は pre で囲まれます。プログラムのソースを書くときに使ってください。

例:

#code

(なんかプログラム書く)

#end

リンクは

[[なまえ|http://www.example.org]]

とか

[[http://www.example.org]]

で貼れます。

$Date: 2003/04/28 10:27:51 $