RubyでVisitorパターン

Rubyの場合、メソッドの引数に型を指定できないため、
ダブルディスパッチャが使用できないので、
メソッド名を分けて実装するみたいです。

# ファイルの一覧を出力するプログラム。
class Node
  def initialize(path)
    @path = path
    @name = File.basename(path)
  end
  attr_reader :path, :name
end

class FileNode