2015-04-05 65 views
-1

練習視頻&文本給出了這樣的例子:"ohmy".concat("gosh"(upcase))。我知道對象是字符串,該方法需要參數,這是方法中的一個方法。Ruby中方法的參數

但是然後練習是這樣的:center(integer),它將一個整數作爲參數,並將字符串居中在很多空間中,這是沒有意義的。我只看到了字符串類中的單詞和fixnum和float類中的數字,就我所知,整數是一個數字。

並不知道我應該如何使center(integer)成爲像"ohmy".concat("gosh"(upcase))這樣的例子。

如果可能,我需要一個如何應用這兩個練習的例子。

  1. center(integer)#需要一個整數作爲參數和中心,許多空間內的串 - 確保說法是足夠大,看看它是如何工作

  2. count(string)#需要一個字符串作爲參數,數多少次在原始字符串時該字符串

回答

2

您提供的代碼是不是語法正確:

> "ohmy".concat("gosh"(upcase)) 
SyntaxError: (irb):1: syntax error, unexpected '(', expecting ')' 
"ohmy".concat("gosh"(upcase)) 
        ^
    from /usr/bin/irb:12:in `<main>' 

應改爲

> "ohmy".concat("gosh".upcase) 
=> "ohmyGOSH" 

「中心」 的方法是這樣的:

> "test".center(10) 
=> " test " 

與 「數」 的方法是這樣的:

> "test".count("t") 
=> 2 

而且,請注意,在Ruby中括號有時是可選的,因此以下內容也適用,但括號使得它更易於使用閱讀,恕我直言:

> "ohmy".concat "gosh".upcase 
=> "ohmyGOSH" 
> "test".center 10 
=> " test " 
> "test".count "t" 
=> 2 

請讓我知道,如果這沒有意義,我可以嘗試澄清更好。

+1

而''foo'.count('o')#=> 2' – Mischa 2015-04-05 15:52:36

+0

謝謝,米沙,加入 – 2015-04-05 15:55:29

+0

這是有道理的,謝謝。我也看到了我指出語法錯誤的地方所犯的錯誤。 「ohmy」.concat(「gosh」.upcase())是我應該如何寫的。我不確定讀完你的原因後,爲什麼他們用額外的括號寫下了它。 – SixofNine 2015-04-05 18:14:24