On Jul 11, 12:17    
> -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
> ## Symbolify (#169)

eval(symbolify(1200))
p symbolify(999).length
p symbolify(9999).length
p symbolify(999999).length
p symbolify(12345678901234567890).length
p symbolify(("9"*2100).to_i).length
nums = (0...1000).sort_by { rand }
strs = nums.map { |n| symbolify(n) }
strs.zip(nums).sort_by { rand }.each do |str, num|
  res = eval(str)
  raise "Not a string!"  unless str.is_a? String
  raise "Invalid chars!" unless str.delete("?*()-").empty?
  raise "Decode failed!" unless res == num
end
puts "Passed!"

outputs:
3
4
6
20
2100
Passed!

Now I'm going for the no cheating.

Lucas