Monday, April 7, 2008

Fun with Ruby 1.9 File Encodings

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
def ℉
self * 9/5 + 32

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…

No comments:

Post a Comment