Reputation: 233
I am experiencing a strange problem with Ruby and Environment variables.
I am currently on a x64 machine running Windows Server 2008 R2
If I do the following in ruby:
puts ENV['PROCESSOR_ARCHITECTURE']
I expect to see AMD64, however, Ruby is displaying x86
If I do: echo %PROCESSOR_ARCHITECTURE%
, in the command prompt, I am greeted with AMD64
My Ruby version is: ruby 1.8.6 (2010-02-04 patchlevel 398) [i386-mingw32]
As far as I am aware, ENV['PROCESSOR_ARCHITECTURE']
should just read my environment variable...
Any ideas?
Cheers, Gareth
Upvotes: 7
Views: 8016
Reputation: 370112
It does read your environment variable, but since your ruby executable is compiled for 32-bit, it runs in a 32-bit environment where the value of PROCESSOR_ARCHITECTURE
is indeed "x86".
If you put system "echo %PROCESSOR_ARCHITECTURE%"
in your ruby script, you will see that it will also output "x86".
Upvotes: 11