[ruby-list:620] call by reference (Re: fcntl)

From: takagi@... (TAKAGI Hiromitsu)
Date: 1996-09-26 13:57:35 UTC
List: ruby-list #620
In article <199609261229.VAA05176@castanet.caelum.co.jp> matz@caelum.co.jp (Yukihiro Matsumoto) writes:
 > |メソッドに変数を参照渡しするにはどうしたらよいですか。
 > 
 > なんかJava-houseでもそういう話題が出ていたような….

# ををかの有名な Java-House ですか!(なーんてね(笑)、いきなし説明
# なしで通じるんやろか…。Java House は Java の mailing list です。
# …ってそのくらいわかるか普通。)

その話題の関係者です。

 > rubyには変数の参照というものがないので,そういうことはできま
 > せん.変数の参照渡しがしたい時というのは大体において以下のよ
 > うな場合です.
 >   * オブジェクトのサイズが大きいとコピーのコストが大きい
 >     rubyのオブジェクトは全部参照ですからオブジェクトサイズに
 >     かかわらず引数渡しのコストは同じです.
 >   * ひとつ以上の値をメソッドから取り出したい
 >     rubyは配列を返すことで見掛け上複数の戻り値を返すことがで
 >     きます.

他にあり得るものとして、
     * 複数の変数に対する操作を抽象化したい。
       例えば単純なところでは swap(a, b) など。
が挙げられるでしょうが、これは

   a, b = swap(a, b)

でいい…といったところかな。

# いつも ruby の話題じゃないときだけ登場してます。
# はやく ruby で遊びたいよー。

P.S.
おととい DeleGate ML なんてところで ruby を宣伝してみたんですが
反応はいかがでしたでしょう。さすがにあそこはあまりにも関係なさ過ぎ?

高木 浩光@名古屋工業大学
http://www.center.nitech.ac.jp/~takagi/
http://www.center.nitech.ac.jp/ml/java-house/ もよろぴく

In This Thread

Prev Next