[前][次][番号順一覧][スレッド一覧][生データ]

yarv-dev:609

From: Yukihiro Matsumoto <matz ruby-lang.org>
Date: Fri, 16 Sep 2005 09:21:50 +0900
Subject: [yarv-dev:609] Re: [expr1, *expr2]

まつもと ゆきひろです

In message "Re: [yarv-dev:607] Re: [expr1, *expr2]"
    on Fri, 16 Sep 2005 09:13:29 +0900, SASADA Koichi <ko1 atdot.net> writes:

|> Rubyレベルで?
|
| C レベルで。rb_Array() の代替があるかな、と。

array.cにあるto_ary関数がその役を果たしてます。必要ならこれ
を名称変更してexportするのが良いでしょうね。名前は

  rb_convert_array_type()

になると思います。

|> Cレベルならrb_check_array_type()が使えますが。
|
| rb_check_array_type() でチェックして、ということですね。

Arrayでなかった時TypeErrorでいいかどうかで決まります。splat 
の場合には1要素の配列とみなすというルールなので、チェックす
る必要があります。array.cの外側ではそういうケースばかりだっ
たので to_ary() が今まで export されてなかったわけですが。

--
ML: yarv-dev quickml.atdot.net
使い方: http://www.atdot.net/~ko1/quickml

[前][次][番号順一覧][スレッド一覧][生データ]

       599 2005-09-09 22:41 [ko1 atdot.net       ] [expr1, *expr2]                         
       600 2005-09-10 00:21 ┗[matz ruby-lang.org  ]                                       
       603 2005-09-16 05:03  ┗[ko1 atdot.net       ]                                     
       605 2005-09-16 08:22   ┗[matz ruby-lang.org  ]                                   
       607 2005-09-16 09:13    ┗[ko1 atdot.net       ]                                 
->     609 2005-09-16 09:21     ┗[matz ruby-lang.org  ]