2012-02-11 61 views
33

我看到了很多很多Ruby腳本,但不知道這意味着什麼:

$:.unshift File.dirname(__FILE__) 
+0

可能重複[什麼是'$ :. unshift File.dirname(\ _ \ _ FILE \ _ \ _)'在做什麼?](http://stackoverflow.com/questions/5155995/what-is-unshift- file-dirname-file-doing) – 2017-01-03 20:58:55

回答

41

$:只是爲$LOAD_PATH一個快捷方式。 __FILE__是腳本的相對路徑。這將當前腳本目錄添加到加載路徑。

+0

並首先添加此目錄,因此它優先於其他目錄。對? – MegaTux 2013-09-30 14:26:19

+0

@MegaTux沒錯。 – bfontaine 2015-01-06 21:28:36

11

紅寶石附帶了一組預定義變量:

$: 該數組包含按負載或需求查找Ruby腳本和二進制模塊的位置列表。它最初由任何-I命令行開關的參數組成,後跟默認的Ruby庫,probabl「/ usr/local/lib/ruby​​」,後跟「。」,以表示當前目錄。 (助記:冒號是PATH環境變量的分隔符。)

在這裏看到更多: http://web.njit.edu/all_topics/Prog_Lang_Docs/html/ruby/variable.html#colon

另一個鏈接: http://www.ruby-forum.com/topic/142378#631564