D言語やPythonのように、複素数リテラルが欲しかったのですが、 無かったのでそれっぽい動きをさせるようにNumeric#iを定義してみました。

numeric_i.rb

   1  require 'complex'
   2  
   3  class Numeric
   4    def i
   5      self * Complex::I
   6    end
   7  end

これだけです。あとは以下のようにして使います。

   1  require 'numeric_i'
   2  
   3  1 + 1.i                        #=> Complex(1, 1)
   4  (Math::E ** (Math::PI.i)).real #=> -1.0

(自分が)簡単に使えるように、GitHubでGemを作っておきました。 利用する場合は以下の手順で導入できます。

   1  gem sources -a http://gems.github.com
   2  sudo gem install genki-numeric_i

名前空間のお陰で、シンプルなGemも気軽に公開できて良い時代ですね。

See Also

posted by Png genki on Thu 10 Jul 2008 at 22:21
Contents
Numeric#iで虚数を簡単に使う
Comments
瀧内元気: MacOS版は以下にあります * [genki/ViMouse](https://githu... '23-1
dsjf: https://gist.github.com/6bf1bf2c3cbb5eb6e7a7 これ... '13-1
瀧内元気: おお、チェックしてみます。thx! '11-12
overisland: Reeder for iPhone もこの UI を実装していますね。 '11-12
瀧内元気: その情報は見たのですが、以下のサイトによると、現在はまた必要になってるっぽいんですよね。 ... '11-12
Services from s21g
twpro(ツイプロ)
Twitterプロフィールを快適検索
地価2009
土地の値段を調べてみよう
MyRestaurant
自分だけのレストラン手帳
Formula
ブログに数式を埋め込める数式コミュニティ