From: matz@... (Yukihiro Matsumoto) Date: 1999-11-15T13:01:25+09:00 Subject: [ruby-list:18601] Re: [REQ] [].grep(pat){} ==> [].grep(pat).collect{} まつもと ゆきひろです In message "[ruby-list:18588] [REQ] [].grep(pat){} ==> [].grep(pat).collect{}" on 99/11/15, Kazunori NISHI writes: |From: gotoken@math.sci.hokudai.ac.jp (GOTO Kentaro) |> はary.grep(...){|str| .... } と書けますよね。あ、返す値が違 |> うか(grep はブロックを与えられるとレシーバを返す)。 | |これに関してですが、ブロックが与えられた場合は、「ブロックを評価した値 |の配列」を返してくれる方が嬉しい、と常々感じていました。(grep + collect |的な機能を意図) grepがブロック付きで呼ばれた場合のブロックの値はあくまでも真 偽値であり、それが真であった場合の値を集めると言う発想はあり ませんでした。 ブロック付きgrepの戻り値を使っている人はいないと言う点には私 も賛同しますが、真偽値の真にそれ以上の意味を与えても良いのか とか、意味のある値として偽を返したいときがあったりしないのか とかが気にならないでもないです。 どう思います?