0

我有一个具有挑战性的 Ruby 问题:

我想将“你好”转换为“YDWOh”,将“你好吗”转换为“uoy era Woh”。

这本质上是大写、交换大小写和反向函数。大写和交换大小写仅适用于句子的第一个单词。当句子中有多个单词时,我该怎么做?

4

2 回答 2

3

尝试以下步骤:

  1. capitalize你的字符串
  2. split(' ')你的字符串成一个带有单词的数组
  3. 用于each_with_index.map遍历数组中的每个单词
  4. 仅用于swapcase数组的第一个单词
  5. join(' ')数组变回字符串
  6. reverse字符串
于 2013-04-08T00:18:46.917 回答
1

您可以尝试以下方法:

a = "how are you"
p a.gsub(a.split[0...1].join(' '),a.split[0...1].join(' ').capitalize.swapcase).reverse

输出:

"uoy era WOh"
于 2013-04-08T07:32:38.857 回答