[#837] request SCAN — Shin-ichiro HARA <sinara@...>

原です。

25 messages 1997/11/14
[#838] Re: request SCAN — matz@... (Yukihiro Matsumoto) 1997/11/14

まつもと ゆきひろです

[#839] Re: request SCAN — Shin-ichiro HARA <sinara@...> 1997/11/14

原です。

[#840] Re: request SCAN — Shin-ichiro HARA <sinara@...> 1997/11/14

原です。

[#841] Re: request SCAN — Shin-ichiro HARA <sinara@...> 1997/11/14

原です。

[#843] Re: request SCAN — matz@... (Yukihiro Matsumoto) 1997/11/14

まつもと ゆきひろです

[#844] Re: request SCAN — Shin-ichiro HARA <sinara@...> 1997/11/14

原です。

[#845] Re: request SCAN — matz@... (Yukihiro Matsumoto) 1997/11/14

まつもと ゆきひろです

[#864] [Req] Proc.new — Shin-ichiro HARA <sinara@...>

原です。

53 messages 1997/11/19
[#865] Re: [Req] Proc.new — matz@... (Yukihiro Matsumoto) 1997/11/19

まつもと ゆきひろです

[#866] Re: [Req] Proc.new — Shin-ichiro HARA <sinara@...> 1997/11/19

原です。

[#867] Re: [Req] Proc.new — matz@... (Yukihiro Matsumoto) 1997/11/19

まつもと ゆきひろです

[#875] Re: [Req] Proc.new — Shin-ichiro HARA <sinara@...> 1997/11/20

原です。

[#877] Re: [Req] Proc.new — shugo@... (Shugo Maeda) 1997/11/20

前田です。

[#879] Re: [Req] Proc.new — Shin-ichiro HARA <sinara@...> 1997/11/20

原です。

[#886] Re: [Req] Proc.new — shugo@... (Shugo Maeda) 1997/11/20

前田です。

[#890] Re: [Req] Proc.new — keiju@... (石塚圭樹 ) 1997/11/20

けいじゅ@日本ラショナルソフトウェアです.

[ruby-dev:898] Re: [Req] Proc.new

From: matz@... (Yukihiro Matsumoto)
Date: 1997-11-20 06:34:44 UTC
List: ruby-dev #898
まつもと ゆきひろです

In message "[ruby-dev:896] Re: [Req] Proc.new"
    on 97/11/20, 石塚圭樹 <keiju@rational.com> writes:

|けいじゅ@日本ラショナルソフトウェアです.

|>  bar = Proc.new { |x| p x }
|>  bar.call(25, 26)#=> [25,26]
|
|上記無仕様にしたい理由が良く分かっていないのですが...
|
|xに引数群が, 配列として渡されることを想像できる人はあまりいないと思う
|んですが...

これは次善の策です.イテレータ引数の設定は代入(複数イテレー
タ変数がある場合には多重代入)で行われるため,どうしてもこう
なってしまうんです.

この辺をなんとかしたい気もするんですが,どうするのが望ましい
のか良く分かんないですね.イテレータ変数の設定に多重代入を使
わなければ良いのか,多重代入の性質を変えるのが良いのか.

|例えば, 2引数でイテレータブロックが呼ばれることが分かっているのに, 1引
|数のイテレータを渡した場合は, 残りの引数入らないといいたいんだと思うん
|ですが... つまり,
|
|  bar = Proc.new { |x| p x }
|  bar.call()      #=> nil
|  bar.call(25)    #=> 25
|  bar.call(25, 26)#=> 25
|
|の方が, 望ましい動作だと思うのですが? 
|# って, これは今までと同じ動作か...

今までは

  bar.call()      #=> FALSE
  bar.call(25)    #=> 25
  bar.call(25,26) #=> [25,26]

です.これがおかしいんで修正しようという話なんですけど.

                                まつもと ゆきひろ /:|)

In This Thread