From: Koji Arai Date: 2000-02-07T01:30:24+09:00 Subject: [ruby-dev:9130] Re: bang method returns string always 新井です。 >>> From: matz@netlab.co.jp (Yukihiro Matsumoto) >>> Date: 04 Feb 2000 17:18:31 +0900 >>> Subject: [ruby-dev:9100] Re: bang method returns string always > まつもと ゆきひろです > 2'. 全ての bang method が成否を返す仕様というわけではあり > ませんでした。ただしStringクラスのbang methodはそうで > したが、今回「結果を返す」に統一しようと言うわけです。 > 一部のbang methodだけが成否を返すと言う仕様にはしない > と思います。 ・Arrayのbang methodも挙動を変えないと。 ・Hashのreject!(とENV.reject!)は、元もとnilを返しませんね。 でも、Enumerable#reject と戻り値の形式が違うので、 Hash#rejectは新たにあった方がよいのかも。(挙動の統一にこ だわるなら) ・exitとexit!(とProcess.exit!) は、異質なbang methodですね。 ところで、私は反対派です。 ・今の仕様で本当に困っていることがあります?ドキュメンテーショ ンの問題ではないのかな。bang methodの扱いは現状ぐらいが柔 軟で良いかと感じてます。 ・今更?って感じがあります。gsub!で条件判断するコーディング は実際使ってて、いつか全ユーザに書き換えを強制させることに なるのは辛いと思う。 警告を出すとのことですが cond = s.gsub! ... if cond ... end こういうのは無理ですよね? 書き換えが嫌なユーザは確実にいるので、もっと納得できる根拠 が必要だと思います。 ・なひさんと同じ理由で、メソッドチェーンあまり好きじゃないで す。メソッドチェーンってエラー追跡のために結局ばらしちゃう んですよね。 1.5での実験を止めろというわけではないです。が、いつでも戻せ るようにもう1個ブランチ作ってくれるとかしてもらった方がうれ しいです。管理が大変かも知れませんが、このまま勢いで仕様変更 が進んで行くのは不安があります。 -- 新井康司 (Koji Arai)