From: Yusuke ENDOH Date: 2009-07-22T23:51:10+09:00 Subject: [ruby-dev:38855] Re: 複素数リテラルについて 遠藤です。 2009/07/22 7:08 に Yukihiro Matsumoto さんは書きました: > RubyKaigiのキーノートでも話しましたが、複素数リテラルを実現 > するパッチを書きました。 (snip) > 検討すべきこと > > * 互換性はどうか。大丈夫のはずだが、見落としは > * iでいいのか。Pythonはなぜかjだが。 > * 複素数化するメソッドNumeric#iは要らないか > * 要るなら、虚数.iの値は何か? 複素数.iの値は? その前に、 * 本当に必要なのか は十分検討されたのでしょうか。積極的に反対なわけではないですが、 どういうユースケースが想定されているのか知りたいです。 コード中に 1+2i などと書けると刹那的にはうれしいかもしれませんが、 2 を n に置き換えることになって、結局 Complex(1, n) に戻るような ことになるような気がします。 それとも、複素数のマジックナンバーを埋め込みたいという要求は結構 あり、そういうスタイルは推奨されるものなのでしょうか。 「リテラル」ではなく下記のような「虚数化」の文法にすれば、上記の 問題はなくなるかも。 1+(2)i => 1+(n)i 電卓用途では 1+2i は便利だと思います。もしもそれだけなら、Ruby 本体でなく irb の文法を拡張するという選択肢はないですかね。 -- Yusuke ENDOH