ruby - 開発 - unterminated string meets end of file



スクリプトに引数を渡すとgets()を使うと "No such file or directory"というエラーが出る (1)

こんにちは私はgets.chompと引数を使用してフォームを作成するシンプルなルビースクリプトをgets.chompしていますが、問題はgets.chomp使用するとスクリプトが引数testを適用するとエラーを返します。

コード:

#!usr/bin/ruby

def formulario(quien)
    while (1)
        print "[+] Word : "
        word = gets.chomp
        print quien + " -> " + word
    end
end

quien = ARGV[0]

formulario(quien)

エラー:

[+] Word : C:/Users/test/test.rb:8:in `gets': No such file or directory @ rb_sysopen - test (Errno::E
NOENT)
        from C:/Users/test/test.rb:8:in `gets'
        from C:/Users/test/test.rb:8:in `formulario'
        from C:/Users/test/test.rb:17:in `<main>'

誰も助けることができますか?


あなたがSTDINから行を読み込んでいくらかの入力をユーザに欲しがっているように見えSTDIN 、これを行う最良の方法はSTDIN.getsを呼び出すSTDIN.getsあり、 getsすることはありません。 あなたの行は次のようになります:

word = STDIN.gets.chomp

これはIO.getsとして文書化されていIO.getsSTDINIOインスタンスです。

今、あなたはKernel.gets実行しています。これは何か違うことをします(強調する)。

ARGV (または$ *) 内のファイルリストから次の行を戻し ($ _に割り当てます)、コマンド行にファイルがない場合は標準入力から 戻し ます

これは、 ARGVが空であればSTDIN.getsように動作するようにSTDIN.getsますが、同じことではないので混乱します。





ruby