egrep.rb では、検索するパターンをプログラムの中に仕込んでおく必要がある。 今度は検索パターンをキーボードで入力して探すように変更したい。 Regexp method を使おう。 std_regexp.rb
#!/usr/koeki/bin/ruby
$KCODE = 'e'
STDERR.print("検索パターン : ")
pattern = STDIN.gets.chomp                  # 変数 pattern にキーボード入力
                                            # で取ってきた調べたい文字列をしまう
request = Regexp.new(pattern, true, "e")    # 変数 request に /調べたい文字列/ei
                                            # を代入する。
while  station = gets
    if request =~ station
      # p station
      print station
   end
end
STDIN は StanDard INput (標準入力) の略である。 キーボードで操作するという意味である。
"chomp" は、文字列を切り取るという method である。 "true" は egrep コマンドの -i と同じで、大文字小文字を区別しない、 という意味である。 "e" で漢字コードを EUC jp に指定している。 実行方法はこちら