为了方便显示这个“字符串”
def to_char(c)
'0123456789Rubym'.slice(to_int(c))
end
def to_string(s)
to_array(s).map{|c| to_char(c)}.join
end
SIX = INCREMENT[FIVE]
EIGHT = POWER[TWO][THREE]
NINE = INCREMENT[EIGHT]
month = UNSHIFT[UNSHIFT[UNSHIFT[UNSHIFT[EMPTY][EIGHT]][TWO]][M]][NINE]
date = UNSHIFT[UNSHIFT[UNSHIFT[UNSHIFT[UNSHIFT[month][Y]][SIX]][ONE]][ZERO]][TWO]
16.数值to_s的实现
这个我们经常使用的功能,是如何实现的,我们大致描述下
def to_s_pre_(n)
pre_n =
if n<=9
[]
else
to_s_pre_(n/10)
end
pre_n.push(n%10)
end
这一步将数值转为一个个数值的数组,根据编码to_char,然后join就OK了