gpt4 book ai didi

ruby-on-rails - Ruby 检查字符串回文的方法

转载 作者:数据小太阳 更新时间:2023-10-29 06:38:17 26 4
gpt4 key购买 nike

我想使用 ruby​​ 代码检查一个字符串是否为回文。

我是 ruby​​ 初学者,所以不太熟悉 ruby​​ 中的字符串方法

最佳答案

如果您不熟悉 Ruby 的 String 方法,您应该看看 documentation , 这很好。 Mithun 的回答已经向您展示了基本原理,但由于您是 Ruby 新手,因此还有一些事情需要牢记:

*) 如果你有一个谓词方法,习惯上用一个尾随问号来命名它,例如回文?

*) bool 表达式的计算结果为 bool 值,因此您无需显式返回 truefalse。因此,一个简短的惯用版本将是

def palindrome?(str)
str == str.reverse
end

*) 由于 Ruby 的类是开放的,您可以将其添加到字符串类中:

class String
def palindrome?
self == self.reverse
end
end

*) 如果你不想猴子修补 String,你可以直接在单个对象上定义方法(或使用模块和 Object#extend ):

foo = "racecar"
def foo.palindrome?
self == self.reverse
end

*) 你可能想让回文检查更复杂一点,例如当涉及大小写或空格时,您还可以检测回文句子、大写单词,如“Racecar”等。

pal = "Never a foot too far, even."
class String
def palindrome?
letters = self.downcase.scan(/\w/)
letters == letters.reverse
end
end
pal.palindrome? #=> true

关于ruby-on-rails - Ruby 检查字符串回文的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8462512/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com