我看着西納特拉,並試圖瞭解語法:瞭解紅寶石(屈) - 非常非常基本的
require 'sinatra'
get '/' do
"Hello, World!"
end
我明白它這樣做:
這是一個「路線」。在這裏,我們告訴Sinatra,如果使用正常的GET HTTP方法請求home或root URL'/',則顯示「Hello,World!」
但是,Ruby語言?
- 這是什麼語法的意思是:
get '/'
?是get
的一種方法,'/
'是一個參數嗎?如果是方法,那麼在Ruby中,我可以調用方法methodname (parameter) {}
。{ }
那裏是爲了什麼? - 我通常明白
do
和end
爲{ }
,這是各種函數體的外殼。 - 在
do
和end
之間我們有「你好,世界!」這是一個聲明?我的意思是,它正在印刷,但我們沒有把它叫做print "Hello, World!"
,所以發生了什麼? - 看來
get
是Sinatra中定義的一種方法,但如果我添加了一個gem,那裏已經定義了一個get
方法,那麼我怎麼知道它會調用哪個'get'方法?或者,它是指HTTPget
方法?
如果這個問題聽起來很基本,我很抱歉,但我想在我向前邁進之前通過它。
謝謝。我已經閱讀了教程,但沒有看到如此詳細的語法解釋。我確信,在一段時間內,經驗,我會很容易地抓住他們。通常在大多數語言中,方法調用看起來像methodname(paramaters)。但是在這裏methodname(參數)然後{}。這讓我失去了。它調用get方法,在其中傳遞參數「/」,並附加一個返回「hello world」的塊。那麼在這個方法被定義的地方,這個塊如何被使用?方法調用只是methodmname和參數,不是嗎? – JVK
@JVK,使用'{'和'}'來定義某些東西在語言中是很常見的,你只是沒有用C,C++或Perl編寫,命名爲3,你會看到大括號。我們稱之爲「{」和「}」或「做」/「結束」塊內的內容。 –
@JVK塊是來自方法調用的參數之一(總是最後一個參數)。它在方法yield時被調用。 – steenslag