前へ | 次へ |
●ファイルの読み込みと表示(その1)
手順としては以下の通りである。
@ファイルを開く
Aファイルのテキストデータを読み込む。
B読み込んだテキストデータを出力する。
Cファイルを閉じる。
(例)
read_text.rb
------------------------------------------
#!/usr/local/bin/ruby
filename = ARGV[0]
file = open(filename)
text = file.read
print text
file.close
------------------------------------------
●ファイルの読み込みと表示(その2)
ファイルのテキストデータを1行ずつ読み込んで表示するには
getsメソッドを利用する。
(例)
gets_text.rb
------------------------------------------
#!/usr/local/bin/ruby
filename =ARGV[0]
file = open(filename)
while text = file.gets do
print text
end
file.close
------------------------------------------
●ファイルの中から特定のパターンの行のみ選択して出力
(例)
------------------------------------------
#!/usr/local/bin/ruby
pattern = Regexp.new(ARGV[0])
filename = ARGV[1]
file = open(filename)
while text = file.gets do
if pattern =~ text
print text
end
end
file.close
------------------------------------------
正規表現オブジェクトを作り、変数patternに代入する。
「Regexp.new(str)」で正規表現オブジェクトを作成する。
★Perlの場合、文字列比較は「text =~ /pattern/」となるが、
Rubyでは、「pattern =~ text」となる。
変数が入れ替わっていることに注意!!