読み込み用サンプルファイル(sample.txt)には、以下の内容が記述されているものとします。
1:犬
2:猿
3:キジ
「File.open」でファイルをオープンして、変数「file」にファイルオブジェクトをセットします。
ファイルオブジェクト「file」の「each_line」メソッドで1行ずつ読み込み、変数「file_line_animal」にセットして、出力します。
File.open("sample.txt") do |file|
file.each_line do |file_line_animal|
puts file_line_animal
end
end
サンプルコード1の処理を「File.foreach」メソッドでまとめて簡略化できます。
File.foreach("sample.txt") do |file_line_animal|
puts file_line_animal
end
どちらのコードでも、同じ結果が出力されます。
1:犬
2:猿
3:キジ
最初に「read」メソッドで全体を読み込み、「split("¥n")」で改行区切り単位で処理することで、1行ごと処理します。
File.open("sample.txt") do |file|
file.read.split("¥n").each do |file_line_animal|
puts file_line_animal
end
end
1:犬
2:猿
3:キジ
書き込み用サンプルファイル(sample.txt)は、以下の内容が記述されているとします。
1:犬
2:猿
3:キジ
「File.open」でファイルをオープンします。この時に第2引数として「w」を付けます。これは、書き込みモードを指定することになります。
「puts」メソッドで書き込みます。
File.open("sample.txt","w") do |file|
file.puts "A1:ももたろう"
end
A1:ももたろう
sample.txtに記述されていた「犬」「猿」「キジ」が消えてしまい、「ももたろう」だけになります。
これは、ファイルオープン時に指定した「w」は上書きモード指定であるため、ファイルを空にしてから書き込み処理を行います。
今度は、追記モード(a)でファイルをオープンして、書き込みます。
File.open("sample.txt","a") do |file|
file.print "A2:きんたろう"
file.puts "A3:うらしまたろう"
end
A2:きんたろう
A3:うらしまたろう
※追記モード(a)の場合は、対象ファイルの末尾から追記を行います。
※「print」は改行なし、「puts」は改行あり、で書き込みます。
2018年03月22日(木)17:00~18:30 AP品川 9階 にて「スマホアプリの開発プロセスについて~実は重要なサーバーサイドの開発と、Laravel(PHP) と Rails(Ruby)~」と題したセミナーを開催しました。 当日は、会場の様子をWebで中継し 遠隔地等ご来場出来ない方にもご参加頂きました。お陰様で、盛況のうちに終了することができました。ありがとうございました。 講...
OSS×Cloud ACCESS RANKING