2012-02-08 61 views
-2

我需要一個Ruby程序,給定一個文件作爲參數,返回一個散列或數組,給出每行的字符數。如何計算字符數,逐行

如何在Ruby中優雅地做到這一點?

+0

請[不加簽名或標語到您的帖子](http://stackoverflow.com/faq#signatures)。 – meagar 2012-02-08 18:13:22

+4

堆棧溢出期望您顯示您編寫的代碼有問題的代碼,我們將幫助您解決問題。要求我們爲您編寫代碼不在範圍之內。你能告訴我們你已經嘗試過了嗎? – 2012-02-08 18:17:43

回答

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

太好了!難以置信! – JCLL 2012-02-08 22:11:00

2

檢查:

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

大家注意到,它也將算新行字符。
對於內容文件

aa 
aaaa 
a 

結果將是

[3, 5, 1] 

如果你不想算來,看看這個方法String#chomp

+0

我喜歡這個。返回的數組可以通過行號索引以獲得該行中字符的數量。 – theglauber 2012-02-08 18:29:02

+2

'inject([])'是'map' – steenslag 2012-02-08 19:37:06