我试图返回(100..1000)范围内符合以下条件的值的列表/数组:
$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()
答案 0 :(得分:2)
您过早应用否定!
:
if (!(/([0-9]).*?\1/)).match?(i)
因此您首先要否定一个正则表达式(出于某些原因,这是正确的),然后尝试对match
值调用true
改为使用:
if !(/([0-9]).*?\1/.match?(i))
甚至
if !/([0-9]).*?\1/.match?(i)