2015-05-18 77 views
0

我在一個測試中看到了這行代碼,我試圖通過。在參數括號之外添加到方法調用中的參數?

stack = Overflow.at(10) + 3 

我從來沒有見過這樣的方法。我見過的每本書/博客只顯示括號內發生了什麼(如splat運算符,多個參數等)。我從來沒有見過在括號之外加入方法調用的東西,我甚至無法弄清楚如何將發生的事情說出來以查找研究/學習。

上究竟發生了什麼幫助,即使它正是這正是技術被稱爲我的研究,是極大的讚賞。

+1

執行'Overflow.at(10)',將3添加到結果中。沒什麼特別的。 – steenslag

回答

1

如果Overflow.at(10)返回值INT你可以把

stack = Overflow.at(10) + 3 

爲縮短版本:

overflow = Overflow.at(10) 
stack = overflow + 3 

這是更緊湊,但結果是一樣的。

+0

我想我很困惑,因爲'overflow = Overflow.at(10)'返回一個字符串,而不是一個int。所以我對這樣的參數之後的'+'運算符感到非常困惑,因爲你不能將一個字符串添加到一個Int中,也許'+ 3'部分只是附加到參數。只是FYI,行'溢出= Overflow.at(10)+ 3',如果我然後調用overflow.to_s它返回一個字符串像「」10:03「' –