我想在 Ruby 中编码一个字符串,这样输出应该是成对的,这样我就可以对其进行解码。我想以这样一种方式进行编码,即每对都包含字符串中的下一个不同字母,并且数字连续重复。
例如,如果我编码“aaabbcbbaaa”输出应该 [["a", 3], ["b", 2], ["c", 1], ["b", 2], ["a", 3]]
这是代码。
def encode( s )
b = 0
e = s.length - 1
ret = []
while ( s <= e )
m = s.match( /(\w)\1*/ )
l = m[0][0]
n = m[0].length
ret << [l, n]
end
ret
end