Conversion de base en ruby

Pour le puzzle 5 de Google Chromebook, j'ai eu besoin de changer de base pour faire des tests. (je n'ai pas trouvé l'énigme)

La fonction to_s de ruby permet donc de convertir l'integer Y en chaine Z de base X spécifiée

Y.to_s(X)

=> Z

A l'inverse, la fonction to_i de ruby permet donc de convertir la chaine Z (qui symbolise un entier en base X) en integer de base 10 :

Z.to_i(X)

=> Y

Voici quelques exemples tirés de la console

En binaire base 2

irb(main):001:0> 50.to_s(2)
=> "110010"
irb(main):002:0> 3.to_s(2)
=> "11"
irb(main):003:0> 35.to_s(2)
=> "100011"
irb(main):004:0> 35.to_s(2).to_i(2)
=> 35
irb(main):005:0> "100011".to_i(2)
=> 35
irb(main):006:0> "100A011".to_i(2)
=> 4
irb(main):007:0> "100".to_i(2)
=> 4

Exemple en hexa base 16

ruby-1.9.2-p0 > "1A".to_i(16)
 => 26 
ruby-1.9.2-p0 > "A".to_i(16)
 => 10 
ruby-1.9.2-p0 > "B".to_i(16)
 => 11 

Et comme vous avez pu le voir, ça fonctionne avec Ruby 1.8 et Ruby 1.9.