2011-05-07 56 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

相关问题