1
進出口設立一個簡單的檢查程序的事情。目前,它非常簡單,只需檢查整數。我不認爲正則表達式是錯的,但我對ruby是新手。紅寶石關閉的正則表達式始終返回false
檢驗出自動正則表達式
def createRegexClosure(re)
reg = Regexp.new(re)
return lambda { |t|
return reg.match(t)
}
end
predefinedRegex = {
'+int' => '/[1-9][0-9]*/',
'int' => '/-?[0-9]+/',
'-int' => '/-[0-9]+/'
}
positiveInt = createRegexClosure(predefinedRegex['+int'])
normalInt = createRegexClosure(predefinedRegex['int'])
negativeInt = createRegexClosure(predefinedRegex['-int'])
puts positiveInt.call('5932423') ? 'good' : 'bad'
puts normalInt.call('0') ? 'good' : 'bad'
puts normalInt.call('-2121') ? 'good' : 'bad'
puts negativeInt.call('-32332') ? 'good' : 'bad'
,並打印出壞4次連勝。這不可能。
+1「你可以跳過整個封閉的東西。」不必要的複雜性。 – 2010-09-21 01:48:41