Ruby中的大写,交换大小写和反转[重复]
Posted
技术标签:
【中文标题】Ruby中的大写,交换大小写和反转[重复]【英文标题】:Capitalize, swapcase and reverse in Ruby [duplicate] 【发布时间】:2013-03-29 23:00:16 【问题描述】:我有一个具有挑战性的 Ruby 问题:
我想将“howdy”转换为“YDWOh”,将“how are you”转换为“uoy era Woh”。
本质上是大写、交换大小写和反向函数。大写和交换大小写仅适用于句子的第一个单词。如果句子中有多个单词,我该怎么做?
【问题讨论】:
这似乎不是正常情况。是作业还是编程挑战?如果是这样,无论哪种情况,您都应该自己弄清楚。这就是作业和编程挑战的重点。 【参考方案1】:尝试以下步骤:
capitalize
你的字符串
split(' ')
你的字符串到一个带有单词的数组中
使用each_with_index.map
遍历数组中的每个单词
仅在数组的第一个单词上使用swapcase
join(' ')
将数组转回字符串
reverse
字符串
【讨论】:
@Linuxios,但我没有故意添加代码......所以至少还有一些东西让他自己弄清楚。 对不起。我会回复的。有人在下面告诉我,我应该将我的代码答案编辑为您的答案,因为它正在使用您的步骤。我会恢复的。【参考方案2】:您可以尝试以下方法:
a = "how are you"
p a.gsub(a.split[0...1].join(' '),a.split[0...1].join(' ').capitalize.swapcase).reverse
输出:
"uoy era WOh"
【讨论】:
以上是关于Ruby中的大写,交换大小写和反转[重复]的主要内容,如果未能解决你的问题,请参考以下文章