原です。

In message "[ruby-list:18217]
    on 99/11/01, Wakou Aoyama <wakou / fsinet.or.jp> writes:
|
|青山です。

|def foo(n)
|  n.reverse!
|end
|a = [1,2,3,4,5]
|foo(a)
|p a  # [5, 4, 3, 2, 1]
|
|このような場合、Ruby における引数の受渡しは参照渡しであるという説明が
|一般的ですが、

私も昔、これを参照渡しと呼んでいたんですが(「プログラミング言語
AWK」でもそんな感じだったし)、参照を渡してはいるが、参照渡しでは
なくて、参照の値渡しというのがいいみたいです。

参照渡しというのは、C++ での

  void foo(int &n) {
    n = 1;
  }
  main() {
    int n = 0;
    foo(n); // n=>1
  }

みたいのを言うんじゃないかしら。参照の値渡しは

  void foo(int *p) {
    *p = 1;
  }
  main() {
    int n = 0;
    foo(&n); // n=>1
  }

ですかね。

#整数を例にするのは Ruby 的にまずかったかも。


では、参照の参照渡しというのは、、、もういいか。(^^;