On Jul 11, 12:17=A0pm, Matthew Moss <matthew.m... / gmail.com> wrote:
> -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=
=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-
> ## 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 =3D (0...1000).sort_by { rand }
strs =3D nums.map { |n| symbolify(n) }
strs.zip(nums).sort_by { rand }.each do |str, num|
  res =3D eval(str)
  raise "Not a string!"  unless str.is_a? String
  raise "Invalid chars!" unless str.delete("?*()-").empty?
  raise "Decode failed!" unless res =3D=3D num
end
puts "Passed!"

outputs:
3
4
6
20
2100
Passed!

Now I'm going for the no cheating.

Lucas