以前のエントリで「eRubyは50行もあれば実装可能」と書いたけど、eRuby の実装は正規表現を使えば極めて簡単。Erubisには約50行で実装されたtiny.rbが含まれているけど、これをさらに小さくしてみたら、35行で実装できた。code golfみたいなことは一切せず、空行を省いたりもしていない。 class TinyEruby def initialize(input=nil) @src = convert(input) if input end attr_reader :src def result(_binding=TOPLEVEL_BINDING) eval @src, _binding end def convert(input) src = "_buf = '';" # preamble input.scan(/(.*?)<%(=)?(.*?)%>/m) do |tex