[#43191] ActiveTclのインストール — HIiroshi Kasamatsu <qqmn89yb9@...>

こんにちは、笠松と申します。

13 messages 2007/02/17
[#43193] Re: ActiveTclのインストール — Hidetoshi NAGAI <nagai@...> 2007/02/18

永井@知能.九工大です.

[#43198] Re: ActiveTclのインストール — HIiroshi Kasamatsu <qqmn89yb9@...> 2007/02/18

永井さん、アドバイスありがとうございます。

[#43217] Ruby 1.8.6 preview2 has been released — "Akinori MUSHA" <knu@...>

 Ruby 1.8.6 preview2 をリリースしました。

13 messages 2007/02/24

[ruby-list:43150] 配列は、メソッド呼出における引数初期化の例外なんでしょうか?

From: Masou <mas@...>
Date: 2007-02-01 10:26:43 UTC
List: ruby-list #43150
Masouです。
2度目です。すみません。

> 再帰でメソッドを呼び出して、そのメソッドがローカル変数(や引
> 数)を書き換えても、その変更は呼び出し元には影響を与えません。
> ローカル変数や引数はメソッド呼び出しごとに初期化される独立し
> た存在です。ですから、これは「正しい」動作ですね。

文字列は初期化されますが、Arrayは初期化されず、
書換えた結果が呼び出し元に返されてます。

[テストプログラムです。] -------
def henkan(ary, str)
  p [21, str, ary]
  ary.shift
  str = "new"
  p [22, str, ary]
end

str = "old"; ary = ["(", "{"]
p [11, str, ary]
henkan(ary, str)
p [19, str, ary]

[結果です] ------------
[11, "old", ["(", "{"]]
  [21, "old", ["(", "{"]]
  [22, "new", ["{"]]
[19, "old", ["{"]]

配列の場合には、初期化されてないようにみえます。
レファレンスも読んだんですがよく解からなくて
質問させていただきました。
よろしくお願いします。

ttp://masou.blogspot.com/




In This Thread

Prev Next