对于 Ruby 来说是全新的。这是一个简单的家庭作业。 Secret_code 函数需要接收输入字符串并执行以下操作:
- 在空格之前的第一个字母块中,除第一个字符外的所有字母都大写
- 反转字符串
因此,如果输入是“super duper”,则输出应该是“repud REPUs”。
我将该函数编码如下:
def secret_code(input)
input.split(" ").first[1..-1].each_char do |i|
input[i] = i.upcase
end
return input.reverse
end
它通过了单元测试,但我想知道是否有更好的方法来编码它。是否可以避免使用循环?我试过
return input.split(" ").first[1..-1].upcase.reverse
但这并不完全有效。任何有关如何清理此问题的想法都将受到赞赏!
"super duper".sub(/(?<=.)\S+/, &:upcase).reverse
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)