ファイル

出力

入力は書けた。次は出力。書けた。次は全体のバランスを見つつ章の構成を再検討。

読み書きと、応用編のサポート

ファイル処理でやりたいこと。 テキストファイルとプログラム間のやり取り テキストファイルの中身を、プログラム中の文字列として取り出すことができる ↑の逆 テキストファイル中の文字列とプログラム中の文字列とが、こうダイナミックに行き来できるという…

grep

ファイル処理と正規表現と組み合わせてgrepを作るというのをやってみようかと。ファイル処理と正規表現の合わせ技は個人的にもよく使うし。いやgrepだとコマンド引数から正規表現を作らないといけないかも。 テキストファイルの中からキーワードを探す。 fna…

相対パスと絶対パス

次のプログラムを見てください。hello.txtを読み込むプログラムです。 File.read('data/hello.txt') # 相対パス このとき読み込まれるhello.txtは、プログラムが実行されるディレクトリのサブディレクトリであるdataディレクトリに置かれている必要がありま…

Dir.glob

実践編で特定のディレクトリにあるファイルを扱う。だから、任意のディレクトリにある任意の拡張子のファイルのリストを取得する方法については解説が必須。 説明案(ボツ)。 dataディレクトリにファイル名の末尾が.txtのファイルが置かれている場合、次の…

ファイルが存在しなかったときに備える

ファイルを読み込もうとしたときに、そのファイルが存在しないとエラーが発生してプログラムが止まってしまいます。 text = File.read("dummy.txt") カレントディレクトリ(Rubyプログラムを実行しているディレクトリ)にdummy.txtというファイルが存在しな…

ファイル操作と例外

Rubyのファイル操作はCと違って例外を使うことを前提に設計されている。超入門書とはいえ簡単にでも例外と組み合わせて使う方法を解説しておくべきか。そもそもファイル処理と一緒に使う例外にはどんなものがあるだろうか。頻発するのはファイルが読み込むフ…

Rubyのファイル操作

単純な文字列をファイルから読んだりファイルに書き出したりする場合、どこまで単純化できるか。 読み込み text = File.read("hello.txt") puts text これは思いつく限りで、もっとも単純なファイルリード。 書き出し 次に出力。これが厄介。 f = open("out.…