[#46838] メーリング;;文字化け::iso-2022-jp-2 — "前川 映一" <eiichi_maekawa@...>
10 messages
2010/02/02
[#46841] Re: メーリング;;文字化け::iso-2022-jp-2
— Kunimi Ikeda <kunimi.ikeda@...>
2010/02/02
いけだと申します。
[#46850] irbでrequireできるがrubyコマンドだとできない — 竹内 英樹 <hideki.takeuchi@...>
竹内と申します。
5 messages
2010/02/06
[ruby-list:46864] Re: []= メソッドの第一引数を省略したい
From:
from_kyushu <from.kyushu.island@...>
Date:
2010-02-17 18:36:33 UTC
List:
ruby-list #46864
from_kyushuと申します。
On 2010/02/18, at 1:21, Yuya Takeyama wrote:
> 引数にデフォルト値を与えればいいのかと思い、以下のような変更を行いましたが、
> これもうまくいきませんでした。
>
> def []=(key = nil, val)
>
> これは Syntax Error となりました。
>
引数が2つ以上あるメソッドで、1番目の引数だけにデフォルト値を設定することは出来ません。
2番目以降にもデフォルト値を設定するか、可変長引数を使う必要があったと思います。
なのでこう書けば動きました。
--------------------
class MyArray < Array
def []=(key,val=nil)
if val.nil?
self.push(key)
else
super(key,val)
end
end
end
arr = MyArray.new
arr[] = 1 # => 1
arr[] = 2 # => 2
arr # => [1, 2]
--------------------
from_kyushu