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

Comments:

or Preview
Social Bookmarks
  • Delicious
  • B_entry664
  • Clip_16_12_w
Services from s21g
twpro(ツイプロ)
Twitterプロフィールを快適検索
地価2009
土地の値段を調べてみよう
MyRestaurant
自分だけのレストラン手帳
Formula
ブログに数式を埋め込める数式コミュニティ