フィルタ (filter)

フィルタプログラム(stdin を処理して stdout へ)の定型コード。

Java

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.IOException;

...


BufferedReader br;
br = new BufferedReader(new InputStreamReader(System.in));

try {
	String line;
	while ((line = br.readLine()) != null) {
		...
	}
} catch (IOException e) {
	e.printStackTrace();
} finally {
	try {
		br.close();
	} catch (IOException e) {
		e.printStackTrace();
	}
}

メニューに戻る

Python

import sys

for line in sys.stdin:
  line = line.rstrip()
  ...

メニューに戻る

Ruby

while line = gets
  line.chomp!
  ... 
end

標準入力でも、パラメータで指定したファイルでも、どちらでも動作する。パラメータで複数ファイルを指定すると、全部結合したものが入力される。

$ cat input_file | filter.rb
...
$ filter.rb input_file
...

パラメータでのファイル指定はせず、標準入力だけを扱いたい場合は、以下のようにする。

STDIN.each { |line|
  line.chomp!
  ... 
}

メニューに戻る

Shell

while read line;
do
  ...
done

メニューに戻る