https://bugs.ruby-lang.org/
https://bugs.ruby-lang.org/favicon.ico?1711330511
2011-11-03T19:52:44Z
Ruby Issue Tracking System
Ruby master - Feature #5549: Comparable#min, Comparable#max
https://bugs.ruby-lang.org/issues/5549?journal_id=21856
2011-11-03T19:52:44Z
matz (Yukihiro Matsumoto)
matz@ruby.or.jp
<ul><li><strong>Status</strong> changed from <i>Open</i> to <i>Rejected</i></li></ul><p>なぜ、それが必要だと思いましたか?<br>
この提案だと a.min(b) というスタイルになり、Enumerableの「もっとも小さい(大きい)要素を返す」という意味でなく、「ふたつの要素のうちより小さい(大きい)ものを返す」と記述しています。そのような記述のための語彙としてはmin,maxではなく、比較演算子 >, < を使うのだと思いますし、そのメソッドはすでにComparableに定義されています。</p>
Ruby master - Feature #5549: Comparable#min, Comparable#max
https://bugs.ruby-lang.org/issues/5549?journal_id=21953
2011-11-07T11:53:59Z
nobu (Nobuyoshi Nakada)
nobu@ruby-lang.org
<ul></ul><p>なかだです。</p>
<p>At Thu, 3 Nov 2011 19:52:44 +0900,<br>
Yukihiro Matsumoto wrote in <a href="/issues/5549">[ruby-dev:44793]</a>:</p>
<blockquote>
<p>この提案だと a.min(b) というスタイルになり、Enumerableの「もっ<br>
とも小さい(大きい)要素を返す」という意味でなく、「ふたつの要素<br>
のうちより小さい(大きい)ものを返す」と記述しています。そのよう<br>
な記述のための語彙としてはmin,maxではなく、比較演算子 >, < を<br>
使うのだと思いますし、そのメソッドはすでにComparableに定義され<br>
ています。</p>
</blockquote>
<p>これは</p>
<blockquote>
<p>Example use case: If you need to ensure that some calculated<br>
value becomes at least zero within a method chain.</p>
</blockquote>
<p>ということで、メソッドチェーンに追加する形で使いたいということが<br>
大きいのでしょう。</p>
<p>some_method.and_another.yet_another.min(0).max(100)</p>
<p>ただ、この例ではmin,maxという名前はあまりふさわしくないように思<br>
います。サチュレーションとかクリッピングとか呼ばれることが多い気<br>
がします。</p>
<p>some_method.clip_by(0..100)</p>
<p>とか。片方向のみの場合にうまくありませんが。</p>
<p>--<br>
--- 僕の前にBugはない。<br>
--- 僕の後ろにBugはできる。<br>
中田 伸悦</p>
Ruby master - Feature #5549: Comparable#min, Comparable#max
https://bugs.ruby-lang.org/issues/5549?journal_id=21954
2011-11-07T12:53:43Z
mame (Yusuke Endoh)
mame@ruby-lang.org
<ul></ul><p>遠藤です。</p>
<p>2011年11月7日11:34 Nobuyoshi Nakada <a href="mailto:nobu@ruby-lang.org" class="email">nobu@ruby-lang.org</a>:</p>
<blockquote>
<p>ただ、この例ではmin,maxという名前はあまりふさわしくないように思<br>
います。サチュレーションとかクリッピングとか呼ばれることが多い気<br>
がします。</p>
<p>some_method.clip_by(0..100)</p>
</blockquote>
<p><a class="issue tracker-2 status-6 priority-4 priority-default closed" title="Feature: Numeric#within (Rejected)" href="https://bugs.ruby-lang.org/issues/4574">#4574</a> でまさにそういう操作をする Numeric#within というメソッドを<br>
提案しましたが、そこで聞いた話だと、こういう操作は一般的に clamp<br>
と呼ばれるそうです。</p>
<p>--<br>
Yusuke Endoh <a href="mailto:mame@tsg.ne.jp" class="email">mame@tsg.ne.jp</a></p>