この質問が少し古いことは知っていますが、その答えは、以前の自分と同じように、この同じ問題について助けを探している他の人に役立つかもしれないと思います.
同じ問題がありましたが、これを機能させるために私がしたことです。
私のコード:
filename = ARGV.first
txt = open(filename)
puts "Here's your file #{filename}"
print txt.read
print "Type the filename again: "
file_again = $stdin.gets.chomp
txt_again = open(file_again)
print txt_again.read
それが正しいコードです。しかし、ファイルを機能させてそのエラーを回避するための秘訣は、ex15.rb ファイルのコードにはありません。これは、プレーン テキストの ex15_sample.txt ファイルを作成する場所と方法に関係しています。
TextWrangler を使用している場合、または私の場合は TextMate のように使用している場合は、別のタブまたはウィンドウと別のファイルを作成します。必ずプレーンテキストを選択してください:

次に、指定されたテキストをファイル内に書き込みます。
これは私がファイルに入力したものです。それは本当にクールなものです。ここにはたくさんの楽しみがあります。
次に、ex15.rb スクリプトと同じディレクトリに保存します。
次に、ターミナルに移動します。次のように入力します (使用しているディレクトリ名とパスは私の例ではありません。正しい情報を使用して入力する必要があります)。
ruby /users/ilyafeynberg/desktop/rubyway/ex15.rb ex15_sample.txt
すべての手順を正しく実行すると、正しく実行され、ターミナルから適切にプロンプトが表示されます。ex15.rb ファイルへの適切なパスを指定する必要があることに注意してください。私が作成したディレクターを省略して「rubyway」に入れていたら、失敗していたでしょう。
注:正直なところ理由はわかりませんが、Mac の TextEdit でプレーン テキスト機能を使用してプレーン テキスト ファイルを作成すると、大量の問題が発生し、機能しませんでした。エディター内でプレーン テキスト ファイルとして作成し、適切に保存することで違いが生まれ、何が間違っていて、何を正しく行う必要があるかを理解できるようになりました。したがって、TextEdit を使用するのではなく、スクリプトを作成するエディターを使用することをお勧めします。
幸運を!