タグ

ブックマーク / chrono.cocolog-nifty.com (1)

  • 日曜プログラマのメモ: RubyのARGFについてのメモ

    Q. ARGFはコマンドライン引数がない場合、$stdinにつながるということだが、オプション指定引数のみがある場合などはどうなるのか? A. ARGVにひとつでも引数が渡されていれば、それが有効なファイル名か否かにかかわらず、ARGFはeach_lineなどのメソッドが呼び出された時点で、($stdinから読み込むのではなく)引数をファイル名とみなしてデータを読み込もうとしてしまう。(有効なファイル名でなければ例外が発生) 従ってコマンドライン引数にファイル名でないものが含まれる可能性があり、それでもARGFを使いたい場合、ARGFにアクセスする前にARGVの内容をチェックして、オプション指定引数などの明らかにファイル名でないものは削除し、別に用意した変数に移しておく。 その後であれば、ARGFからデータの読み込みを行うことができる。(ARGVに引数が残っていればその名前のファイルか

    korin
    korin 2009/09/18
  • 1