2013-03-24 45 views
1

Ruby中似乎沒有主要功能。那麼Ruby中的主要功能是什麼?我在哪裏寫Ruby的主要功能?

+2

整個腳本在頂層環境中始終執行。 – matt 2013-03-24 02:48:54

+2

需要記住的是每行Ruby代碼都是可執行的,包括類聲明和方法定義。它實際上是在遇到它時執行的。 – matt 2013-03-24 02:55:04

+0

可能的重複:http://stackoverflow.com/questions/9687106/is-there-a-main-method-in-ruby-like-in-c – Josh 2013-03-24 02:59:57

回答

6

Ruby中沒有這種東西。解釋器從上到下執行代碼,所以你的主腳本隱含地是「main」的主體。例如,假設您有兩個文件script_a.rbscript_b.rb。而假設的script_a.rb內容如下:

require_relative './script_b' 

puts 1 + 1 

現在,如果你運行ruby script_a.rb你會在實際的代碼執行方面得到什麼將是如下:查找script_b.rb,執行的script_b.rb內容,執行puts 1 + 1

+1

有趣的是,Ruby中有一個'main'對象,你可以通過打開IRB並詢問它是否「自我」來尋找。這是一個[頂級對象](https://banisterfiend.wordpress.com/2010/11/23/what-is-the-ruby-top-level/),它用作所有其他對象的上下文。這個很好的答案:http://stackoverflow.com/a/917842/1042144 – 2013-03-24 03:03:17