From: Nobuyoshi Nakada Date: 2011-11-07T11:34:35+09:00 Subject: [ruby-dev:44813] Re: [ruby-trunk - Feature #5549][Rejected] Comparable#min, Comparable#max なかだです。 At Thu, 3 Nov 2011 19:52:44 +0900, Yukihiro Matsumoto wrote in [ruby-dev:44793]: > この提案だと a.min(b) というスタイルになり、Enumerableの「もっ > とも小さい(大きい)要素を返す」という意味でなく、「ふたつの要素 > のうちより小さい(大きい)ものを返す」と記述しています。そのよう > な記述のための語彙としてはmin,maxではなく、比較演算子 >, < を > 使うのだと思いますし、そのメソッドはすでにComparableに定義され > ています。 これは > Example use case: If you need to ensure that some calculated > value becomes at least zero within a method chain. ということで、メソッドチェーンに追加する形で使いたいということが 大きいのでしょう。 some_method.and_another.yet_another.min(0).max(100) ただ、この例ではmin,maxという名前はあまりふさわしくないように思 います。サチュレーションとかクリッピングとか呼ばれることが多い気 がします。 some_method.clip_by(0..100) とか。片方向のみの場合にうまくありませんが。 -- --- 僕の前にBugはない。 --- 僕の後ろにBugはできる。 中田 伸悦