我正在写一个Fixnum
类方法to_words
,它接受任何数字并将其翻译成英语,
2.to_words
#=> "two"
2030.to_words
#=> "two thousand thirty"
我希望它能够处理所有数字,一旦我获得了超过10亿的数据就会出现问题:
1000002000.to_words
#=> "one billion two thousand"
1074000000.to_words
#=> NoMethodError
1074000000.class
#=> Bignum
有没有办法将我的Fixnum.to_words
方法扩展到Bignum
?
答案 0 :(得分:5)
Fixnum
和Bignum
都继承自Integer
,因此在您的情况下,最好在#to_words
上定义Integer
,以便Fixnum
} s或Bignum
s将继承该方法。