這只是我在Mac OSX 10.12上使用Ruby創建的用於測試目的的示例方法,但我沒有得到所需的輸出:任何人都可以提出建議嗎?我嘗試使用paranthesis和without()來獲得結果。它甚至不會拋出任何錯誤。在mac osx上無法獲得使用ruby的def的結果
def hi
puts "Hello World"
End
hi
hi()
hi("Hello Matz")`
這只是我在Mac OSX 10.12上使用Ruby創建的用於測試目的的示例方法,但我沒有得到所需的輸出:任何人都可以提出建議嗎?我嘗試使用paranthesis和without()來獲得結果。它甚至不會拋出任何錯誤。在mac osx上無法獲得使用ruby的def的結果
def hi
puts "Hello World"
End
hi
hi()
hi("Hello Matz")`
試試這個:
def hi
puts "Hello World"
end
hi
hi()
而且這樣的:
def greet(greeting)
puts greeting
end
greet("Hello Matz")
注意,在這條線:
hi("Hello Matz")`
你必須在最後一個刻度,所以那是一個錯誤:
1.rb:5: syntax error, unexpected tXSTRING_BEG, expecting end-of-input
It doesn't even throw any error.
那你沒有運行該程序。
我建議你打開一個終端窗口(應用程序/實用/ Terminal.app),並輸入:
$ vimtutor
VIM是隨你的Mac免費的計算機編程編輯器。做這個教程並學習如何使用vim。要運行一個ruby程序,你需要將你的代碼輸入到一個文件中,然後將它保存爲my_prog.rb
。然後你需要給該文件ruby來執行它。你執行了Ruby程序是這樣的:
$ ruby my_prog.rb
您可以創建這樣所有的Ruby程序的目錄:
$ mkdir ruby_programs
$ cd ruby_programs
要創建一個目錄中的新文件,使用vim:
~/ruby_programs$ vi my_prog.rb
一旦你完成你的代碼輸入,保存文件,這將讓你回在終端的提示,那麼你就可以運行你的程序:
~/ruby_programs$ ruby my_prog.rb
一旦你熟悉VIM,你覺得有信心運行你的Ruby程序,考慮與生動的粉筆配色方案安裝的MacVim:
它更好看比普通VIM。
嘗試編輯您的文件,以便它讀取:
def hi
puts "Hello World"
end
hi
一些重要的不同需要注意:def
和end
都區分大小寫。函數定義的內部縮進兩個空格。由於函數不帶參數,所以在第4行上調用hi
時不需要括號。
根據您的文件名,輸入命令ruby FILENAME
,你應該看到輸出Hello World
Ruby的關鍵字是區分大小寫的。您的代碼使用End
,並且您可能希望使用end
來標記hi
方法的結尾。
因爲End
是不一樣的end
(和End
不是關鍵字),irb
一直等待輸入並設爲其他三個線作爲hi
方法的一部分。至於它可以告訴,它的定義是不完整的,直到它到達end
關鍵字(所有非大寫字母。)
正確的方式來定義的方法是:
def hi
puts "Hello World"
end
然後就可以調用它使用hi
或hi()
。
調用它爲hi("Hello Matz")
(或hi "Hello Matz"
)拋出一個異常ArgumentError
與消息wrong number of arguments (given 1, expected 0)
,因爲它是用一個參數調用,但方法hi
的定義不其定義指定有關參數的任何東西(的方法hi
沒有按」不接受任何參數)。
感謝大家提出的建議。我輸入「結束」不正確,因爲它的大小寫敏感。現在我輸入「結束」,它工作得很好。 –
另一個問題是下面的reg:def test(name =「World」) puts「Hello#{name.capitalize}!」 結束 這個「Hello ## {name.capitalize}」應該提供什麼輸出?我正在看到「Hello World!」。我不確定「name.capitalize」,它有什麼作用? –
看看它的[documentation](https://ruby-doc.org/core-2.4.0/String.html#method-i-capitalize)。它說:*「返回」str「的副本,第一個字符轉換爲大寫,其餘轉換爲小寫。」*。它對''World''沒有任何影響,因爲它已經有了前面提到的大寫字母。如果你想整個單詞大寫,然後嘗試['upcase'](https://ruby-doc.org/core-2.4.0/String.html#method-i-upcase)。 – axiac
向初學者建議vim ......真的嗎? – spickermann
我在20只猴子上測試了vim。對於三個香蕉,其中兩個能夠在當天結束時將莎士比亞轟動一時 – 7stud