Ruby Hacking Guide Ch. 11: Finite-state Scanner | Hacker News Reader