возникли проблемы с моим первым тестовым кодом ruby - PullRequest
0 голосов
/ 05 марта 2012

Я новичок в ruby ​​и привык к инструментам разработки.Я использую irb и запустил свой первый helloword. Также сделал то же самое, используя приглашение cmd.У меня есть следующая функция, которая продолжает возвращать ошибку

def palindrome2?(string)
    puts "hello"
    regex = /^[a-zA-Z]/
    string = gsub(regex,'').downcase
    mirror = string.reverse
    reformat == mirror
 end

она возвращает неопределенный метод `gsub 'для main: Object error. Как мне решить эту проблему

Ответы [ 2 ]

0 голосов
/ 05 марта 2012

Также метод gsub для строки возвращает nil, если не было внесено никаких изменений. Поэтому, если ваша строка является правильным словом без каких-либо символов без слов, например, «fijowejg», «filsijdf» .gsub (/ [^ a-zA-Z] /, '') вернет nil. После этого метод downcase не может быть запущен для объекта nil.

Таким образом, вы не можете связать методы gsub и downcase в этом порядке. http://ruby -doc.org / ядро-1.9.3 / String.html # метод-я-GSUB

0 голосов
/ 05 марта 2012

В вашем случае вы забыли вызвать метод gsub для строки

String Palindrome

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

"baB".palindrome? #=> true
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...