неопределенный метод `match? 'для истины: TrueClass (NoMethodError) - PullRequest
0 голосов
/ 11 октября 2019

Я пытаюсь вернуть список / массив значений из диапазона (100..1000), которые соответствуют следующим критериям:

  1. 3-значное значение
  2. Всецифры в каждом значении уникальны.
$global_range = Array (100..999)
$fun = []

def listOfFunPossibilities
    # FUN values should meet the criteria below:
    # 1. 3 digit value
    # 2. All are unique

    $global_range.each do |i|
       if (!(/([0-9]).*?\1/)).match?(i)
           $fun.push(i)
       end
    end
    return $fun
end

listOfFunPossibilities()

1 Ответ

2 голосов
/ 11 октября 2019

Вы применяете отрицание ! слишком рано:

if (!(/([0-9]).*?\1/)).match?(i)

, поэтому сначала вы отрицаете регулярное выражение (по какой-то причине верно), а затем пытаетесь вызвать match для true value

Используйте вместо:

if !(/([0-9]).*?\1/.match?(i))

или даже

if !/([0-9]).*?\1/.match?(i)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...