2012-02-08 10 views
-2

ファイルをパラメータとして指定すると、各行の文字数を示すハッシュまたは配列を返すRubyプログラムが必要です。charの数を行ごとに計算する方法

これをRubyでどのようにエレガントに行うことができますか?

File.open('file_name').inject([]) do |counts, line| 
    counts << line.size 
end 

、それはまた、新しい行の文字をカウントすることに注意してください:この

+0

をチェックします署名やタグラインをあなたの投稿に追加する](http://stackoverflow.com/faq#signatures)。 – meagar

+4

Stack Overflowは、問題を抱えているコードを表示することを期待しており、修正するのに役立ちます。あなたのためにあなたのコードを書くように私たちに尋ねることは、その範囲に含まれていません。すでに試したことを私たちに見せてもらえますか? –

答えて

4
File.open('file_name').map(&:length) 
+0

すごい!信じられない! – JCLL

2

チェック。
コンテンツを持つファイルの場合

aa 
aaaa 
a 

結果は、[追加しないでくださいあなたがそれらをカウントしたくない場合は、

[3, 5, 1] 

もこの方法String#chomp

+0

私はこれが好きです。返される配列は、その行の文字数を取得するために行番号でインデックスを付けることができます。 – theglauber

+2

'inject([])'は 'map'です – steenslag

関連する問題