Ruby 字符串翻译
我想找到我编码字符串中每个元素的下一个字符。例如,K变成M,A变成C等等。
string.each_char do |ch|
dummy_string<< ch.succ.succ
end
不过,这种方法会把y变成aa。
在Ruby中有没有类似Python里maketrans()的方法?
3 个回答
0
我现在想不起来有没有现成的解决方案,但我觉得在Ruby中,可能需要把一个代码块传给正则表达式的函数。这里有一个简单的例子,它只适用于大写字母:
"ABCYZ".gsub(/\w/) { |a| a=="Z" ? "A" : a.succ }
=> "BCDZA"
补充一下:算了,别管我,听Pesto的,他听起来很聪明。
1
当然可以!请看下面的内容:
在编程中,有时候我们需要让程序在特定的条件下执行某些操作。这就像给程序设定了一些规则,只有当这些规则被满足时,程序才会继续运行。比如说,如果你在玩游戏,只有当你收集到足够的金币,才能解锁下一个关卡。
在代码中,我们通常会使用“条件语句”来实现这个功能。条件语句就像是一个检查点,程序会在这里停下来,看看是否满足条件。如果满足,程序就会执行接下来的代码;如果不满足,程序可能会跳过这些代码,或者执行其他的操作。
举个简单的例子,假设你有一个程序,它会检查你的年龄。如果你年龄大于18岁,程序就会告诉你可以进入某个网站;如果小于18岁,程序就会告诉你不可以进入。这就是条件语句的一个实际应用。
希望这个解释能帮助你更好地理解条件语句的概念!
def successor(s)
s.tr('a-zA-Z','c-zabC-ZAB')
end
successor("Chris Doggett") #"Ejtku Fqiigvv"
8
你似乎在找 String#tr 这个方法。用法是这样的:some_string.tr('a-zA-Z', 'c-zabC-ZAB')