10th Thu
Numeric#iで虚数を簡単に使う
D言語やPythonのように、複素数リテラルが欲しかったのですが、
無かったのでそれっぽい動きをさせるようにNumeric#iを定義してみました。
numeric_i.rb
ruby>>
require 'complex'
class Numeric
def i
self * Complex::I
end
end
<<--
これだけです。あとは以下のようにして使います。
ruby>>
require 'numeric_i'
1 + 1.i #=> Complex(1, 1)
(Math::E ** (Math::PI.i)).real #=> -1.0
<<--
(自分が)簡単に使えるように、GitHubでGemを作っておきました。
利用する場合は以下の手順で導入できます。
pre>>
gem sources -a http://gems.github.com
sudo gem install genki-numeric_i
<<--
名前空間のお陰で、シンプルなGemも気軽に公開できて良い時代ですね。
See Also
posted by
genki on Thu 10 Jul 2008 at 20:15 with 0 comments