我是ruby的新手,并且已经习惯了开发工具。我正在使用irb并且已经运行了我的第一个helloword。也使用cmd提示完成了相同的操作。 我有以下功能,不断返回错误
def palindrome2?(string)
puts "hello"
regex = /^[a-zA-Z]/
string = gsub(regex,'').downcase
mirror = string.reverse
reformat == mirror
end
它一直为main返回一个未定义的方法`gsub':对象错误。我该如何解决这个问题
答案 0 :(得分:0)
在你的情况下,你忘了在字符串
上调用gsub方法String Palindrome
class String
def palindrome?
self.downcase == reverse.downcase
end
end
"baB".palindrome? #=> true
答案 1 :(得分:0)
此外,如果未进行任何更改,则string上的gsub方法返回nil。因此,如果你的字符串是一个没有任何无字符的正确单词,例如“fijowejg”,“filsijdf”.gsub(/ [^ a-zA-Z] /,'')将返回nil。之后,无法在nil对象上运行downcase方法。
因此,您无法按此顺序链接方法gsub和downcase。 http://ruby-doc.org/core-1.9.3/String.html#method-i-gsub