我遇到了Ruby和环境变量的奇怪问题。
我目前在运行Windows Server 2008 R2的x64计算机上
如果我在ruby中执行以下操作:
puts ENV['PROCESSOR_ARCHITECTURE']
我希望看到AMD64,但Ruby正在显示x86
如果我这样做:echo %PROCESSOR_ARCHITECTURE%
,在命令提示符下,我会看到AMD64
我的Ruby版本是: ruby 1.8.6(2010-02-04 patchlevel 398)[i386-mingw32]
据我所知,ENV['PROCESSOR_ARCHITECTURE']
应该只读取我的环境变量......
有什么想法吗?
干杯, 加雷
答案 0 :(得分:11)
它会读取您的环境变量,但由于您的ruby可执行文件是针对32位编译的,因此它在32位环境中运行,其中PROCESSOR_ARCHITECTURE
的值确实是“x86”。
如果你将system "echo %PROCESSOR_ARCHITECTURE%"
放在ruby脚本中,你会发现它也会输出“x86”。