Fun with Ruby 1.9 File Encodings

code better • have fun

Ruby 1.9 allows you to specify the character encodings of I/O streams, strings, regexps, symbols, and so on. It also lets you specify the encoding of individual source files (and a complete application can be built from many files, each with different character encodings). Expect to start seeing a rash of obscure source code, at least until the initial excitement abates and cooler thinking prevails.

In the meantime, we can get away with

# encoding: utf-8
require 'mathn'
class Numeric
   def 
     (self - 32) * 5/9
   end
   def 
     self * 9/5 + 32
   end
end
 
puts 212.
puts 100.

Or, for those who’d like a peek at the start of a road that eventually leads to madness:

alias  puts 
 
 212.
 100.

I’m betting this post displays badly on about 50% of the machines that are used to view it. Which is reason enough to tread very lightly down this path…