From: Yusuke ENDOH Date: 2009-07-23T09:43:32+09:00 Subject: [ruby-dev:38880] Re: 複素数リテラルについて 遠藤です。 2009/07/23 4:43 に take_tk さんは書きました: > 「数字の部分を変数に変更するのであれば、「.」(ドット)を入れてメソッド > 呼び出しに変更する必要があります」と注意書きしておけば、 > > (1+2i)*(3+4i) > > を > > a=1 ; b=2 ; c=3 ; d=4 > p (a+b.i)*(c+d.i) #=> (-5 + 10i) > > と変更するのは簡単だし、とても分かりやすいと思います。 Numeric#i もあわせて入ることが確実なら、それでもいいかなと思いました。 ただ、それなら最初から (1+2.i)*(3+4.i) と書くことにすれば、それほど書きにくくもないし、変なルールが減って より良いような気もします。 虚数よりユーザの多そうな pi や e は 2 * Math::PI や 2 * Math::E と なっているのに、2i だけ数式みたいな表記を許す理由はあるのでしょうか。 # 2xxx を (2 * Math::XXX) の syntax sugar とするとかどうかな……。 -- Yusuke ENDOH