2011-05-07 73 views

回答

5

對於第一個,你可以添加自定義實例方法來Fixnum這樣的:

class Fixnum 
    def i 
    Complex(0, self) 
    end 
end 

> 2.i 
# => (0+2i) 

正如J-L指出的那樣,您可以對Ruby 1.9中的第二個執行相同的操作,但是您的rb文件在頂部需要# encoding: utf-8

而作爲DNNX指出,在Ruby中創建虛數的問題已經由Complex類解決:

require 'complex' 
2.im 
#=> (0+2i) 
+0

哇,這是真棒。 :)爲什麼不能爲第二個工作? Ruby在代碼中支持utf-8不是嗎? – 2011-05-07 23:36:24

+0

是的,只需定義你的方法,並確保你在第1行(1.9);)中包含魔法註釋「encoding:utf-8」。不幸的是,你在問題中使用的語法是不可能的,因爲它不是有效的Ruby語法。你總是這樣做:'2.²'或'²(2)'或'2' – 2011-05-07 23:53:55

+0

這真是太棒了..更多理由熱愛語言 – govi 2011-05-08 00:43:18

相關問題