2016-07-23 3 views
0

リンク:http://learnrubythehardway.org/book/ex20.htmlf.gets.chompは何をやっているのですか? (ルビー苦労して学ん:運動20)の運動に

を、私はそれが表示される運動の出力を理解するトラブルを抱えている:

1, This is line 1 
2, This is line 2 
3, This is line 3 

私はどの部分を理解していませんプログラムが特定の行数を読み取るようになっています。 1行目と2行目と3行目を読み取る方法を知っていますか?

それはこの部分とは何かを持っています:

def print_a_line(line_count, f) 
    puts "#{line_count}, #{f.gets.chomp}" 
end 

を私は(と改行をカットオフ)gets.chompは、コマンドラインからのユーザ入力を取得するためであると思いました。

答えて

2

IO#gets改行がそのままのファイルから行を(文字列として)返します。 (コード中のf.gets)。それを呼び出すたびに、ファイルから次の行に戻ります。

String#chomp復帰改行せずに新しい文字列:

"This is line 1\n".chomp 
# => "This is line 1" 
0

あなたはそれを、それを削除して返します。引数として文字列を与える場合も、文字列の末尾を削除することができますサイドノートムシャムシャ食べる法について新しい文字列"hello".chomp("o") >> "hell"

関連する問題