2013-08-21 2 views
0

Так пытаюсь запустить это на модели HomeLoan и дает мне ошибку:Почему регулярное выражение не работает в сборном

 
HomeLoan.columns.collect {|x| p /month/.match(x.name.to_s)} 
SyntaxError: (irb):30: syntax error, unexpected '.' 
HomeLoan.columns.collect {|x| p /month/.match(x.name.to_s)} 
             ^

???

Однако, когда я бегу:

/month/.match("month") преуспевает ....

Немного путать здесь. Любая помощь будет оценена по достоинству.

+3

У вас есть полностью функциональный пример? Эта структура отлично работает для меня в Ruby 1.8.7, 1.9.3 и 2.0.0. Возможно, ошибка на самом деле в другом месте и проявляется только в этом '.'. –

+0

Я подозреваю, что регулярное выражение с неограниченным числом строк или два выше –

+0

Не знаю, что это было. Я только что вышел и вошел в консоль, и это сработало ... –

ответ

1

насчет:

HomeLoan.columns.collect {|x| /month/.match(x.name.to_s)} 
+0

что случилось с кодом OP тогда .. Является ли 'p' виновником? –

+0

Я не думаю, что было что-то синтаксически неправильно. Но поскольку он использовал '# collect', использование' p' не принесло бы ему никакого результата. –

+0

, так как он упомянул об ошибке 'SyntaxError: (irb): 30: синтаксическая ошибка, неожиданная '.'' .. Я ищу, почему это происходит? –

Смежные вопросы