2014-02-14 59 views
0

我試圖編寫一個名爲count_lines的獨立方法,它返回輸入字符串中的行數。 如果我運行這個測試代碼,它應該產生所示的輸出:我想了解這種獨立的練習方法

s = %W/This 
is 
a 
test./ 
print "Number of lines: ", count_lines(s), "\n" 
# Output: 
Number of lines: 4 

我是相當新的Ruby和我試圖找出如果這僞實際輸出與否。請幫幫我!!

+0

你能澄清你的問題是什麼? – 2014-02-14 00:28:17

+0

我想弄清楚這是僞代碼還是實際的ruby代碼。對於main:Object(NoMethodError),當我測試它時,我得到了未定義的'count_line'。 – user3308300

+0

這是實際的ruby代碼,但是'count_lines'方法的定義丟失了。 – Satya

回答

0

我會假設count_lines是計數在數組中元素的個數的方法,你可以指望使用的幾種方法Ruby提供仰望Array Documentation此元素的數量,並且%W是紅寶石的一個它允許你創建一個字符串數組細微,如:

arr = %W{a b c} 
arr # => ["a", "b", "c"] 

它需要的幾乎任何特殊字符作爲使用.作爲分隔符

arr = %W.a b c. 
arr # => ["a", "b", "c"] 

分隔符如因此,在你的片段從問題/使用分隔符,所以s將如下評價:

s = %W/This 
is 
a 
test./ 
s # => ["This", "is", "a", "test."] 

上面的解釋了爲什麼下面的工作,因爲它確實

def count_lines(arr) 
    arr.size 
end 

s = %W/This 
is 
a 
test./ 
print "Number of lines: ", count_lines(s), "\n" 
# >> Number of lines: 4