【问题标题】:Capitalize, swapcase and reverse in Ruby [duplicate]Ruby中的大写,交换大小写和反转[重复]
【发布时间】:2013-03-29 23:00:16
【问题描述】:

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

我想将“howdy”转换为“YDWOh”,将“how are you”转换为“uoy era Woh”。

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

【问题讨论】:

  • 这似乎不是正常情况。是作业还是编程挑战?如果是这样,无论哪种情况,您都应该自己弄清楚。这就是作业和编程挑战的重点。

标签: ruby


【解决方案1】:

尝试以下步骤:

  1. capitalize你的字符串
  2. split(' ')你的字符串到一个带有单词的数组中
  3. 使用each_with_index.map 遍历数组中的每个单词
  4. 仅在数组的第一个单词上使用swapcase
  5. join(' ')将数组转回字符串
  6. 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"

【讨论】:

    猜你喜欢
    • 2016-02-24
    • 2017-03-04
    • 2011-01-16
    • 1970-01-01
    • 1970-01-01
    • 2016-07-14
    • 2010-12-03
    • 2018-08-17
    • 2022-01-19
    相关资源
    最近更新 更多