无法从数组中返回字符串 - pig latin - Ruby

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (8)

我正在尝试在Codewars上做一个Pig Latin Kata,我真的很难将数组中的字符串作为字符串返回。

不知道我哪里出错了 - 任何帮助都会非常感激。

def pig_it text
  text.split.map.each { |word| word.chars.rotate(1).join+"ay"}
end

text = 'Pig latin is cool'

pig_it(text)

它返回数组,猪拉丁语翻译工作正常。无法弄清楚如何将其作为字符串返回。 ["igPay", "atinlay", "siay", "oolcay"]

提问于
用户回答回答于

你已经完成了所有艰苦的工作并获得了一组你想要加入的字符串,现在你只需加入它们:

def pig_it text
  text.split.map.each { |word| word.chars.rotate(1).join+"ay"}.join(' ')
end

text = 'Pig latin is cool'

pig_it(text)
=> "igPay atinlay siay oolcay"

无论你输入join的什么参数都是数组元素之间使用的字符

用户回答回答于
  1. #each从中删除电话text.split.map.each { |word| word.chars.rotate(1).join+"ay"}。map调用以块为参数。没有必要#each接听电话。
  2. #join#map那之后你需要另一个,例如,转换["hello", "world"]"hello world"

然后你会:

def pig_it(text)
  text.split.map { |word| word.chars.rotate(1).join + "ay" }.join(" ")
end

text = "Pig latin is cool"
pig_it(text)
#=> "igPay atinlay siay oolcay"

扫码关注云+社区

领取腾讯云代金券