[#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:43152] Re: 配列は、メソッド呼出における引数初期化の例外なんでしょうか?

From: rubikitch@...
Date: 2007-02-01 11:42:40 UTC
List: ruby-list #43152
From: Masou <mas@masou.net>
Subject: [ruby-list:43150] 配列は、メソッド呼出における引数初期化の例外なんでしょうか?
Date: Thu, 1 Feb 2007 19:26:43 +0900

るびきちです。

> 書換えた結果が呼び出し元に返されてます。

正しい動作です。
「破壊的メソッド」の扱いはそういう危険性があるので注意しましょう。
多くの破壊的メソッド要注意の意味で ! がついています。
けれど shift は ! がついていなくても破壊的メソッドです。

! がついていない破壊的メソッドについては、覚えるしかないと思います。
破壊的メソッドかどうかを見分けるには、メソッドを適用した後の変数の値を見ることです。
破壊的メソッドでなければ、元の値のままです。

a = [1,2]
a.shift
a                               # => [2]
a << 100
a                               # => [2, 100]
a.push 9999
a                               # => [2, 100, 9999]
a.pop
a                               # => [2, 100]
# + は破壊的メソッドではない
a + [200]                       # => [2, 100, 200]
a                               # => [2, 100]

--
rubikitch
http://www.rubyist.net/~rubikitch/

In This Thread