2010-08-09 208 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”。