俺 C や awk のコードでしか考えられないのは自覚しているが……。
1行づつ読んで、ある行数まではこんな処理、そのあと何カラム目かがどーたらだったらこういう処理、また空読みして?って、実に awk 的なことがやりたいだけなのに……
readlines() で読んでリストにするのはいいけど(メモリ喰うからちっともよくない)、 for で廻すと全部同じ処理しなきゃならなくて if 文で死ぬし、ってゆーか case/switch ねーのかよ。
イテレータでちまちま痴呆の様に進めるが、カラムで引っかけるために一々文字列→文字のリストへの変換はかけなきゃならないし、リストのまま出力させるとゴミが出るので要素ベタ書きになるし、しかもnカラム目がこれと一致したら、とやってるのにフィールド数が足らないとエラーに落ちるし!!!。一致しなかったんならスルっと抜けろと。
で、最後まで読もうと思うと iterator を比較すべき end() はないし…。終了条件のためにいちいち例外吐かすのかと。
他にも do-while がないとか、++ がないとか、代入と比較がまぜらんないとか、俺か書こうとする書き方とは衝突しまくり。 and とか not とかも嫌いだなぁ。お前は apple script かと…。 __hoge__ みたいな書き方もキモくて嫌い
これで速度は遅くてメモリ喰いでガベコレが働かなくてじゃなんも取り柄がないぞ。
書き溜めた python script は随分あるんだが、どれも酷いコードばっかりだなぁ…。ちゃんとした書き方ならもうちょっと綺麗になるんかなぁ。