Как вы возвращаете логическое значение для регулярного сканирования целого числа? - PullRequest
0 голосов
/ 11 октября 2011

Я просматриваю свои атрибуты объекта для преступников, которые не являются:

^[1-3]{3}$

Какой метод используется для сканирования целых чисел по регулярному выражению?

Ответы [ 2 ]

4 голосов
/ 11 октября 2011

Некоторые примеры:

124.to_s.match(/^[1-3]{3}$/)
=> nil
123.to_s.match(/^[1-3]{3}$/)
=>#<MatchData "123">

Поскольку nil считается false, у вас есть логическое значение.

Пример:

 "no yo" if 124.to_s.match(/^[1-3]{3}$/)
 => nil
 "yo!" if 123.to_s.match(/^[1-3]{3}$/)
 => "yo!"
1 голос
/ 11 октября 2011

Вы также можете использовать одно из следующих:

def is_pure_integer?(i)
  i.to_i.to_s == i.to_s
end

или

'132' =~ /^\d+$/ ? true : false

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...