きくたにです。
readで全部ファイルを読んで、それが何行あるか知るには
どうやるのが簡単でしょうか?

---
s = nil
open("count-cr.rb") {|f| s = f.read}
sa = s.split(/\n/)

p sa
p sa.size


---

splitでArrayにしてから数えるのはなんだか効率悪そう。

ところで、上の例で最後に空行ふたつあるのはわけがありまして、
上を実行すると(プログラムがcount-cr.rbです)、行として6が表示されます。
8を期待してたのに、なぜ最後の空行が無視される?

manual says:
       read [length]
           lengthバイト読み込んで,その文字列を返します. lengthが省略
           された時には,EOFまでの 全てのデータを読み込みます.
           EOFでnilを返します.

なんで、EOFまで読むはずですよね。

ruby 1.3.3 (1999-05-18)

-- 
Kikutani, Makoto  kikutani / sprintmail.com