https://redmine.ruby-lang.org/
https://redmine.ruby-lang.org/favicon.ico?1711330511
2011-10-31T10:27:06Z
Ruby Issue Tracking System
Ruby master - Feature #5513: Numeric へ述語語の追加
https://redmine.ruby-lang.org/issues/5513?journal_id=21674
2011-10-31T10:27:06Z
matz (Yukihiro Matsumoto)
matz@ruby.or.jp
<ul></ul><p>まつもと ゆきひろです</p>
<p>In message "Re: <a href="/issues/5513">[ruby-dev:44708]</a> [ruby-trunk - Feature <a class="issue tracker-2 status-6 priority-4 priority-default closed" title="Feature: Numeric へ述語語の追加 (Rejected)" href="https://redmine.ruby-lang.org/issues/5513">#5513</a>][Open] Numeric へ述語語の追加"<br>
on Sun, 30 Oct 2011 17:23:56 +0900, tadayoshi funaba <a href="mailto:redmine@ruby-lang.org" class="email">redmine@ruby-lang.org</a> writes:</p>
<p>|具体的には以下の述語を追加する事を提案します。</p>
<p>順序を変えてコメントします。</p>
<p>|Numeric#exact?、Numeric#inexact?</p>
<p>これは数全般が持つ性質を示しているので、導入に賛成します。<br>
むらけんさんも提案しておられましたね。</p>
<p>|Numeric#rational?、Numeric#complex?、Numeric#float?</p>
<p>まあ、すでにinteger?などがあるのではすが、integerでない<br>
(real)のものをさらにrational, floatと細かく分割するスタイルを<br>
推奨することになるこれらの述語の導入は総称性と逆方向になるの<br>
ではないですか?</p>
<p>complex? はスカラーでない点で特別扱いが必要そうな気がするので、<br>
他の述語よりは必要性が高いのかもしれませんが、私には判断がつ<br>
きません。</p>
<p>|Numeric#finite?、Numeric#infinite?、Numeric#nan?</p>
<p>現時点ではこれらの性質を持つ数クラスはFloat(と一部<br>
BigDecimal)しかないのですが、総称製の確保という点ではNumeric<br>
にあったほうが良いという理屈はわかります。</p>
<p>わかりますが、そもそもなぜBigDecimalにInfiniteがあるのかとう<br>
点が納得できてなかったりしますし、一部の数クラスでしか意味が<br>
ない性質が総称性という名のもとにNumericに次々追加される傾向に<br>
違和感を感じるのも確かです。個人的な意見としては、反対とまで<br>
は言わないが、賛成でもないくらいです。</p>
<p>|Numeric#positive?、Numeric#negative?</p>
<p>これは x > 0 とか x < 0 で判断されるべきではないでしょうか?<br>
さらにいうと complex の存在により、positive? というのは<br>
Numeric全体で判定できる性質ではないような気がしますので、賛<br>
成しません。</p>
<p>「負の零」ついてですが、確か「正の零」に正規化してたように思<br>
うのですが、仕様化はしてなかったような気もします。</p>
<p>--</p>
<p>全般的に「これらの述語をどのような局面で使うと嬉しい」という<br>
点が具体的でないので(一部を除き)積極的に賛成する気になれませ<br>
ん。個人的な意見としては、このリクエストはrejectして、いくつ<br>
かのグループごとに別にして再検討してはどうだろうか思います。</p>
<pre><code> まつもと ゆきひろ /:|)
</code></pre>
Ruby master - Feature #5513: Numeric へ述語語の追加
https://redmine.ruby-lang.org/issues/5513?journal_id=21690
2011-10-31T21:03:00Z
tadf (tadayoshi funaba)
<ul><li><strong>Status</strong> changed from <i>Open</i> to <i>Rejected</i></li><li><strong>Assignee</strong> set to <i>tadf (tadayoshi funaba)</i></li></ul>