logo       

[ruby-list:42425] Re: 空白行を除くための行数の数え方: msg#00079

lang.ruby.japanese

Subject: [ruby-list:42425] Re: 空白行を除くための行数の数え方

遠藤様

GenBank フォーマットのエントリか何かでしょうか。

空行がファイルの最後にだけあるのでしたら、丸ごと読み込んで

entry = ARGF.read.strip

とか、1ファイルに複数エントリある場合は、

ARGF.each do |line|
print line unless /^$/
end

などで、いったん空行の無いファイルを作っておいて作業するとか

ARGF.each("\n//\n") do |entry|
entry.strip!
# エントリごとの処理
end

のように1エントリごと読み込んで前後の空行を取ってしまう
といった手がありそうです。

片山


On 2006/06/19, at 12:05, 遠藤 大二 wrote:

> 遠藤@札幌 です
>
> 遺伝子のデータを処理しています。
> ダウンロードしたデータは
> //
> という記号で終わるのですが、その下に二行余計な行が入っているために、処理がう
> まく行きません。
> 余分な行は、二行と書きましたが、実は、完全に毎回二行になるかがはっきりしませ
> ん。
> それで、truncateを使って必要な行だけを選び出す方法を本で読み、メーリングリス
> トに投稿しました。
> truncateの使い方については解決したのですが、必要な行数の数え方についてはうま
> く行っておりません。
> 下記のやり方を取ろうと考えているのですが、もっとエレガントな方法を御存知の方
> がいらっしゃれば、御助言いただけないでしょうか。
>
> 1ファイルの行数を調べる
> 2'//'で始まる行の行番号を調べ、その最大数を求める
> 3ファイルのうち2で決めた行数のみを新たに保存する。
>
> お知恵をいただけると、本当に助かります。
>
> _________________________________________________________________
> パソコンでも携帯電話でも使える 「MSN Hotmail」 http://promotion.msn.co.jp/hotmail/
>





<Prev in Thread] Current Thread [Next in Thread>
Google Custom Search

News | FAQ | advertise