From: Koji Arai Date: 2003-08-23T14:27:43+09:00 Subject: [ruby-dev:21238] Re: [ruby-cvs] ruby: * enum.c (inject_i):userb_yield_values. 新井です。 In message "[ruby-dev:21236] Re: [ruby-cvs] ruby: * enum.c (inject_i):userb_yield_values." on 23 Aug 2003 13:52:36 +0900, Koji Arai wrote: > 新井です。 > > In message "[ruby-dev:21234] Re: [ruby-cvs] ruby: * enum.c (inject_i): userb_yield_values." > on 23 Aug 2003 13:43:07 +0900, > Koji Arai wrote: > > 新井です。 > > > p "a".scan(/(.)/) # => [["a"]] > > "a".scan(/(.)/) {|x| p x} # => ["a"] > > > > は、 > > > > x = *[["a"]] > > p x > > => ["a"] > > > > っと同じなので変える必要ないと思うのです。 > > あっ違った。 > > x = ["a"] > p x > => ["a"] > > と同じだったのが > > x = *["a"] > p x > => "a" > > になったのかな?scan で困ったことはないから splat はいらない > と思うのですが、ソース見直して出直して来ます。m(__)m さらに、思い付きと脊髄で反応しますが [ruby-dev:21207] と同じ対処をしようとするなら 引数を配列にくるんで splat つけるのが正しいように思います。 今まで x = ["a"] p x => ["a"] だったのを x = *[["a"]] p x => ["a"] にするということです。今だソースみてないので話半分に。。 -- 新井康司 (Koji Arai)