2010-08-09 226 views
7

我遇到了Ruby和環境變量的一個奇怪問題。Ruby環境變量

我目前在x64機器上運行Windows Server 2008 R2

如果我做了以下的紅寶石: puts ENV['PROCESSOR_ARCHITECTURE']

我希望看到AMD64,但是,紅寶石顯示86

如果我這樣做:echo %PROCESSOR_ARCHITECTURE%,在命令提示符下,我接受AMD64

我的Ruby版本是: ruby​​ 1.8.6(2010-02-04 patchlevel 398)[i386- mingw32的]

據我所知,應該ENV['PROCESSOR_ARCHITECTURE']剛讀我的環境變量...

任何想法?

乾杯, 加雷思

回答

11

它讀取你的環境變量,但因爲你的Ruby可執行文件編譯爲32位,它在32位環境下的PROCESSOR_ARCHITECTURE值確實是「86」運行。

如果你把system "echo %PROCESSOR_ARCHITECTURE%"放在你的ruby腳本中,你會發現它也會輸出「x86」。