# File A2_patterns2.rb, line 30 def zerlege(arittxt) ergarray=Array.new while (arittxt.size > 0) do compop=arittxt.scan(@@op) compzahl=arittxt.scan(@@zahl) compreg=arittxt.scan(@@reg) compbez=arittxt.scan(@@bez) comparray=[compop,compzahl,compreg,compbez] tokentemp="" comparray.each do |c| if (c[0]!=nil and arittxt.index(c[0])==0) if (tokentemp.size<c[0].size) tokentemp=c[0] end end end ergarray.push(tokentemp) if(tokentemp=="") return Array.new end arittxt=arittxt.sub(tokentemp, '') end return ergarray end