Ruby 1.9.3以降、ファイル名の扱いでひっかかりポイントがあったんだよな。なんだったっけ? と、ここしばらく、頭の片すみにモヤモヤが居座っていた。ついさっき、どういうことだったかを思い出せた。 最初にひっかかったのはファイルを操作するスクリプトだった。ファイル名にまつわるところに何かある、と勘違いしてしまっていたのはそのせいだろう。しかしきちんと思い出してみると、ファイル名ではなくコマンドライン引数のエンコーディングにより生じる問題だった。ファイル名のほうを適当に直すという場当たり対処をついついしてしまったのも勘違いを深める要因だったかもしれない。 ともあれ、問題のコードを以下に示す。 #!/usr/bin/env ruby # encoding: utf-8 require 'optparse' OptionParser.new do |opt| opt.on('-h') do p