我想找到编码字符串中每个元素的后继元素。例如K-> M A-> C等
string.each_char do |ch|
dummy_string<< ch.succ.succ
end
然而,该方法转换y-> aa。
Ruby中的方法是否与Python中的maketrans()类似?
答案 0 :(得分:8)
您似乎在寻找String#tr。使用方式如下:some_string.tr('a-zA-Z', 'c-zabC-ZAB')
答案 1 :(得分:1)
def successor(s)
s.tr('a-zA-Z','c-zabC-ZAB')
end
successor("Chris Doggett") #"Ejtku Fqiigvv"
答案 2 :(得分:0)
我不知道一个随便,但我认为Ruby方式可能涉及将块传递给regexp函数。这是一个愚蠢的,只适用于大写字母:
"ABCYZ".gsub(/\w/) { |a| a=="Z" ? "A" : a.succ }
=> "BCDZA"
编辑:嗯,没关系,听Pesto,他听起来很聪明。