【发布时间】:2021-08-14 15:58:35
【问题描述】:
我最近解决了这个问题,但觉得有一种更简单的方法可以解决。我想使用比现在更少的代码行。我是 ruby 的新手,所以如果答案很简单,我很乐意将它添加到我的工具包中。提前谢谢你。
目标:接受一个单词作为 arg,并返回去掉最后一个元音的单词,如果没有元音 - 返回原始单词
def hipsterfy(word)
vowels = "aeiou"
i = word.length - 1
while i >= 0
if vowels.include?(word[i])
return word[0...i] + word[i+1..-1]
end
i -= 1
end
word
end
【问题讨论】:
-
一切都在一个 sub 中,没有反转,也没有测试:word.sub(/[aeiou](?!.*?[aeiou])/, "")
标签: ruby-on-rails ruby rspec