> Still I failed to convince eval() to back my string to original numbers, > but some folks're talk 'bout ASCII codes The point is that in ruby 1.8 something like ?( denoted the character '(' but this really is only a fixnum (40) -- as it was already described by others. The task is: you have the following symbols/numbers irb(main):002:0> p ??, ?-, ?*, ?), ?( 63 45 42 41 40 the operations *, - (with -- being +) and parentheses. Use this to build any number. E.g. 1: irb(main):004:0> eval('?)-?(') # ~~ 41 - 40 => 1 This is something slightly different than recoding a decimal number to base-5 and using symbols instead of digits. It took me some time to figure this out myself. It was really a nice idea and an excellent quiz.