[#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:896] Re: [Req] Proc.new

From: keiju@... (石塚圭樹 )
Date: 1997-11-20 06:10:59 UTC
List: ruby-dev #896
けいじゅ@日本ラショナルソフトウェアです.

In [ruby-dev :00887 ] the message: "[ruby-dev:887] Re: [Req] Proc.new ", on Nov/20 14:30(JST) 
matz@netlab.co.jp (Yukihiro Matsumoto)  writes: 
>まつもと ゆきひろです
>
>In message "[ruby-dev:869] Re: [Req] Proc.new"
>    on 97/11/19, Shin-ichiro HARA <sinara@blade.nagaokaut.ac.jp> writes:
>
>|原です。
>
>||x| の時はちょっと注意がいるけど、これでいいんじゃないで
>|しょうか。
>
>じゃあ,そういうことで.副作用としてnil.to_aが[nil]から[]に
>なります.

[ruby-dev:872]に対する明確な答がありませんが...

それはともかく, 下記の仕様は, 変なんじゃないですかねえ?

>  bar = Proc.new { |x| p x }
>  bar.call()      #=> nil
>  bar.call(25)    #=> 25
>  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

の方が, 望ましい動作だと思うのですが? 

# って, これは今までと同じ動作か...

どうして仕様変更の話しになったんだろう?

>  foo = Proc.new { |*x| p x }
>  foo.call()      #=> []
>  foo.call(1)     #=> [1]
>  foo.call(2,3)   #=> [2,3]

のはなしから, |x| の場合の仕様まで変更することにする必要はないと思うん
だけど? 

__
................................石塚 圭樹@日本ラショナルソフトェア...
----------------------------------->> e-mail: keiju@rational.com <<---

In This Thread