Try this:
def testmethodx(parm)
puts "methx: parm=#{parm}" ;
end ;
def testmethody(parm)
puts "methy: parm=#{parm}" ;
end ;
def testmethodz(parm)
puts "methz: parm=#{parm}" ;
end ;
myarray = []
myarray.push([ Regexp.new('^X\d+[.]?\d*$'), method(:testmethodx)])
myarray.push([ Regexp.new('^Y\d+[.]?\d*$'), method(:testmethody)])
myarray.push([ Regexp.new('^Z\d+[.]?\d*$'), method(:testmethodz)])
elements = []
elements.push("X01")
elements.push("Y02")
elements.push("Z03")
elements.each { |element|
myarray.each {|test, meth|
if test.match(element) then
puts "yes, detected"
meth.call(element)
else
puts "no, not detecetd"
end
}
}