2010-08-09 3 views
7

Je rencontre un problème étrange avec les variables Ruby et Environment.Ruby Environment Variables

Je suis actuellement sur une machine x64 exécutant Windows Server 2008 R2

Si je fais ce qui suit dans Ruby: puts ENV['PROCESSOR_ARCHITECTURE']

Je me attends à AMD64, cependant, Ruby affiche x86

Si je le fais: echo %PROCESSOR_ARCHITECTURE%, dans l'invite de commande, je suis accueilli avec AMD64

Ma version Rubis est: ruby ​​1.8.6 (2010-02-04 patchlevel 398) [i386- mingw32]

Pour autant que je sache, ENV['PROCESSOR_ARCHITECTURE'] devrait simplement lire ma variable d'environnement ...

Toutes les idées?

Cheers, Gareth

Répondre

11

Il ne lit votre variable d'environnement, mais depuis votre exécutable Ruby est compilé 32 bits, il fonctionne dans un environnement 32 bits où la valeur de PROCESSOR_ARCHITECTURE est en effet « x86 ».

Si vous mettez system "echo %PROCESSOR_ARCHITECTURE%" dans votre script ruby, vous verrez qu'il affichera également "x86".

Questions connexes