[#18233] [book] blade.nagaokaut.ac.jp/ruby/ruby-list/ — Shin-ichiro Hara <sinara@...>

原です。

21 messages 1999/11/01
[#18239] [book] csv_split2 [Re: blade.nagaokaut.ac.jp/ruby/ruby-list/] — keiju@... (石塚圭樹) 1999/11/01

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

[#18244] Re: [book] csv_split2 [Re: blade.nagaokaut.ac.jp/ruby/ruby-list/] — Shin-ichiro Hara <sinara@...> 1999/11/01

原です。

[#18289] Re: [book] csv_split2 — Koretsugu Daigoro <tmmcross@...> 1999/11/02

これつぐです。

[#18291] Re: [book] csv_split2 — keiju@... (石塚圭樹) 1999/11/02

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

[#18311] Re: [book] csv_split2 — Koretsugu Daigoro <tmmcross@...> 1999/11/02

これつぐです。

[#18338] オブジェクトの非同一性判定 — Ayanosuke <aya@...>

 綾乃介です。

13 messages 1999/11/03

[#18539] [book] $*, etc. — Yasuhiro Fukuma <yasuf@...>

福間@福岡 です。

44 messages 1999/11/11

[#18580] — tokoma@... (中川 誠)

中川です。

44 messages 1999/11/14
[#18619] build on alpha — Go Nakagawa <nakagawa@...> 1999/11/15

もとの質問のかたとは別の中川です。

[#18737] Re: build on alpha — tokoma@... (中川 誠) 1999/11/18

中川です。

[#19144] Re: build on alpha — tokoma@... (中川 誠) 1999/12/04

中川です。長文で失礼します。

[#19341] Re: build on alpha — tokoma@... (中川 誠) 1999/12/09

中川です。

[#19344] Re: build on alpha — matz@... (Yukihiro Matsumoto) 1999/12/09

まつもと ゆきひろです

[#19400] Re: build on alpha — tokoma@... (中川 誠) 1999/12/10

中川です。

[#19426] Re: build on alpha — EGUCHI Osamu <eguchi@...> 1999/12/11

えぐち@エスアンドイー です。

[#19459] Re: build on alpha — tokoma@... (中川 誠) 1999/12/13

中川です。

[#19461] Re: build on alpha — EGUCHI Osamu <eguchi@...> 1999/12/13

えぐち@エスアンドイー です。

[#19506] Re: build on alpha — tokoma@... (中川 誠) 1999/12/14

中川です。

[#19520] Re: build on alpha — EGUCHI Osamu <eguchi@...> 1999/12/15

えぐち@エスアンドイー です。

[#19522] Re: build on alpha — matz@... (Yukihiro Matsumoto) 1999/12/15

まつもと ゆきひろです

[#19543] Re: build on alpha — EGUCHI Osamu <eguchi@...> 1999/12/15

えぐち@エスアンドイー です。

[#19562] Re: build on alpha — tokoma@... (中川 誠) 1999/12/15

中川です。

[#19569] Re: build on alpha — EGUCHI Osamu <eguchi@...> 1999/12/16

えぐち@エスアンドイー です。

[#19592] Re: build on alpha — tokoma@... (中川 誠) 1999/12/16

中川です。

[#18637] constant? — Kazuhiro Yoshida <moriq.kazuhiro@...>

もりきゅうです。

20 messages 1999/11/16
[#18640] Re: constant? — WATANABE Hirofumi <Hirofumi.Watanabe@...> 1999/11/16

わたなべです.

[#18650] Re: constant? — Kazuhiro Yoshida <moriq.kazuhiro@...> 1999/11/16

もりきゅうです。

[#18657] Re: constant? — matz@... (Yukihiro Matsumoto) 1999/11/16

まつもと ゆきひろです

[#18709] ADO にて datetime 型の取得 — Takashi SHIODA <tsio@...>

塩田です。

18 messages 1999/11/18
[#18779] Re: ADO にて datetime 型の取得 — Masaki Suketa<CQN02273@...> 1999/11/20

助田です.

[#18802] Re: ADO にて datetime 型の取得 — Takashi SHIODA <tsio@...> 1999/11/21

オレンジソフト塩田です。

[#18712] Re: header output in eruby — TAKEUCHi Kahori <take-k@...>

たけうちです。

16 messages 1999/11/18
[#18716] Re: header output in eruby — "NAKAMURA, Hiroshi" <nakahiro@...> 1999/11/18

なひです.

[#18830] mod_ruby-0.1.4 — TAKAHASHI Masayoshi <maki@...>

高橋征義です。

16 messages 1999/11/22

[#18853] initializer polymorphism? — Takeyuki Watadani <watadani@...>

渡谷といいます。

25 messages 1999/11/23

[#18911] Re: eRuby 変換後の無駄 (?) な改行 — TAKEUCHi Kahori <take-k@...>

たけうちです。

14 messages 1999/11/25

[#18914] Ruby standard GUI framework? — Hideto ISHIBASHI <s34204@...>

石橋秀仁です。

43 messages 1999/11/25
[#18975] Re: Ruby standard GUI framework? — 中村暁史 Nakamura Akifumi <BXQ04723@...> 1999/11/27

[#19020] Re: Ruby standard GUI framework? — Hideto ISHIBASHI <s34204@...> 1999/11/29

石橋秀仁です。

[#19026] Re: Ruby standard GUI framework? — Noritsugu Nakamura <nnakamur@...> 1999/11/29

[#19081] Re: Ruby standard GUI framework? — "Hideaki Takata" <hideakit@...3.dion.ne.jp> 1999/12/01

たかたです。

[#19092] Re: Ruby standard GUI framework? — Noritsugu Nakamura <nnakamur@...> 1999/12/01

[#19112] Re: Ruby standard GUI framework? — 中村暁史 Nakamura Akifumi <BXQ04723@...> 1999/12/02

[#19131] Re: Ruby standard GUI framework? — Noritsugu Nakamura <nnakamur@...> 1999/12/03

[#18948] 他言語との比較 — とみたまさひろ <tommy@...>

とみたです。

18 messages 1999/11/26

[ruby-list:18588] [REQ] [].grep(pat){} ==> [].grep(pat).collect{}

From: Kazunori NISHI <kazunori@...>
Date: 1999-11-14 21:05:49 UTC
List: ruby-list #18588
西@九大です。
多分、ruby-dev だと思いますが、話の流れ的に、勢いに乗って。。。

From: gotoken@math.sci.hokudai.ac.jp (GOTO Kentaro)
> はary.grep(...){|str| .... } と書けますよね。あ、返す値が違
> うか(grep はブロックを与えられるとレシーバを返す)。

これに関してですが、ブロックが与えられた場合は、「ブロックを評価した値
の配列」を返してくれる方が嬉しい、と常々感じていました。(grep + collect
的な機能を意図)

というのも、ブロック付きで呼び出された時は、その配列に対する処理はそこ
で完結している場合が多く、そこからさらに、元の要素の配列を返り値として
欲しいという事は殆どないからです。(さらに実行したい命令があるなら、ブ
ロックの中に入れておくか、最初から collect などを使うであろうから)

むしろ、ブロック付きで呼び出された場合は、ブロック中で利用したオブジェ
クトをブロック外部に持ち出したい、という要求の方が高く、その方が利便性
が高いと思います。しかしながら、現在の grep の仕様では、

  * 先に空配列を宣言して、grep(collect) のブロック内で push していく。
  * grep().collect{} とやる。
  * collect{}.compact。collect 内部で grep 相当の動作を行い、マッチし
    なければ nil を返し、さらに compact する。

などとやるしかなく、結局「加工した要素が欲しいなら collect 使っとけ!」
「配列が欲しいなら、find_all 使っとけ!」みたいな「grep 離れ」に繋がる
気がします。実際、grep が使われるコードはあまり見かけないですし。

極論すれば、find_all や collect と性質が被っている以上、grep は「ブロッ
ク付き、かつ、最後に評価した値の配列を返す」という利用法&仕様でしか殆
ど存在価値がない!とまで言っちゃいましょう。(言い過ぎ)

少くとも、「ブロック付き」かつ「返り値(self)をさらに利用」という使われ
方はしてないと思います。もし、「あ、私、そんな風に使ってます」という方
が一人でもいらっしゃれば、今回の提案は取り下げます。(かなり強気)

という事で、どうでしょうか?秘かに「とりあえず、self を返してるだけ」
という仕様である事を期待しています。まあ、最悪、最後に引数を評価すれば、
現在の仕様と互換になる事ですし。(ちょっと弱気になったらしい)

効果的な KEM(Killer Example to Matz)が思いつきませんが、大旨下記のよう
に使えるようになると、大変便利だと思っています。
  * values = data_array .grep(/=/) {$'}
  * values = web_form_array .grep(/xxx/) {|item| CGI::unescape(item)}

------------------------------------------------------------------
九州大学大学院システム情報科学研究科 情報工学専攻 博士後期課程三年
      西 和則   ( e-mail: kazunori@swlab.csce.kyushu-u.ac.jp )
------------------------------------------------------------------

In This Thread