ホーム :その1 :コマンド :

【ファイルからの読み込み】

前へ 次へ


●ファイルの読み込みと表示(その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」となる。
  変数が入れ替わっていることに注意!!


コマンド に戻る