【发布时间】:2013-03-29 17:46:22
【问题描述】:
对 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
但这并不完全奏效。任何关于如何清理它的想法都非常感谢!
【问题讨论】:
-
你的预期输出是什么?
-
@RubyLovely 他告诉过你。阅读问题。
-
参考问题。如果输入是“this is input”,则输出应该是“tupni si SIHt”