[自定义区间-Range]书里的例子 - 中文数字类
生活随笔
收集整理的這篇文章主要介紹了
[自定义区间-Range]书里的例子 - 中文数字类
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
class ChineseNumberNumbers = ["一","二","三","四","五","六","七","八","九","十"]attr :chinese_numberdef initialize(value)if Numbers.include?(value)@chinese_number = valueelseraise "數(shù)字不正確"endenddef to_num #轉(zhuǎn)化為整數(shù)Numbers.index(@chinese_number)+1 if @chinese_numberenddef to_s@chinese_numberenddef succ #返回序列中的下一個(gè)對象 (Range類必須要的方法)raise(IndexError,"超出了數(shù)字范圍") if self.to_num>=10ChineseNumber.new(Numbers[self.to_num])enddef <=>(other) #比較兩個(gè)對象的大小 (Range類必須要的方法)self.to_num <=> other.to_numend
enddef ChineseNumber(val) #用來創(chuàng)建的工具方法
ChineseNumber.new(val)
endone = ChineseNumber("一")
four = ChineseNumber("四")
puts "#{one} => #{one.to_num}"
puts "#{one} 的下一個(gè)是 #{one.succ}"range = one..four
puts range.include?(ChineseNumber("三"))
range.each{|i| puts i }
?
轉(zhuǎn)載于:https://www.cnblogs.com/laoquans/p/3183942.html
總結(jié)
以上是生活随笔為你收集整理的[自定义区间-Range]书里的例子 - 中文数字类的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: IEC61850电能质量1~50次谐波有
- 下一篇: windows下增加python的库搜索