From: "Luca (Email)" Date: 2011-12-29T15:51:09+09:00 Subject: I: calculator program help -----Messaggio originale----- Da: Trevor Daniels [mailto:socomcrazy10@yahoo.com] Inviato: luned́ 14 novembre 2011 22:24 A: ruby-talk ML Oggetto: calculator program help I'm trying to make a simple RPN calculator that reads in regular expressions from a file and evaluates them to execute code. Currently I have these regular expressions stored in an array of class objects that have 2 data objects (1. The regex itself and 2. The block of code that should be executed when a match is found). An example of one of the read in regex's is below: [0-9]+ lambda {|input| $myStack.push(input)} Now, I get input from the user and compare that string to all the regular expressions in my array. When a match is found, the code is evaluated. So far it is working by entering in input one by one. Code and an example are below. while input = gets for i in 0..$regexArray.length-1 if ( input =~ Regexp.new($regexArray[i].regex) ) eval($regexArray[i].code).call(input) end end end Example: 5 4 + print will give "9" as it should. However, I want to make it so I can enter input in one line like: 5 4 + print I've tried matching the input string with the regex with: myMatch = regex.match(input) but when I enter a string such as "123 456" only the last part ("456") is matched when I need to first match the ("123"). Any help would be appreciated. -- Posted via http://www.ruby-forum.com/. -- Caselle da 1GB, trasmetti allegati fino a 3GB e in piu' IMAP, POP3 e SMTP autenticato? GRATIS solo con Email.it http://www.email.it/f Sponsor: Conto Arancio al 4,20%. Zero spese e massima liberta', aprilo in due minuti! Clicca qui: http://adv.email.it/cgi-bin/foclick.cgi?mid919&d)-12