キーボードで検索文字を入力して探したい

egrep.rb では、検索するパターンをプログラムの中に仕込んでおく必要がある。 検索パターンをキーボードで入力して探すように変更したい。 Regexp method を使おう。regexp.rb

#!/usr/koeki/bin/ruby

STDERR.print("検索パターン : ")
pattern = STDIN.gets.chomp
request = Regexp.new(pattern, true, "e")

while  station = gets
    if request =~ station
       print station
   end
end

# # STDIN : 与えられたデータを処理するに際して、 処理の方法をキーボードからの入力により操作したいときに使われる。

STDIN は StanDard INput (標準入力) の略である。 通常キーボードで操作するコマンドを入力するためである。 pattern は探す文字列をしまう変数である。 request はオプションと文字コードを指定した検索パターンをしまう変数である。

# # Regexp.new(変数, オプション, 文字コード): 正規表現したい文字列にオプションをつける。

"chomp" は、文字列を切り取るという method である。 "true" は egrep コマンドの -i と同じで、大文字小文字を区別しない、 という意味である。 "e" で漢字コードを EUC jp に指定している。 実行方法はこちら

本日の講義目次 / 基礎プログラミング I / 2007 年度

Madoka Nishimura <madoka.koeki-u.ac.jp>