Pourquoi tu fous des $ devant tes noms de variables ?
Je fais pas de Ruby, hein, mais là je peux te dire que c´est une chaîne.
Par contre
gets.to_i
récuperera une chaîne qu´il tentera de convertir en entier (le maximum lu ou 0 sinon)
d´abord en exécutant le gets qui donne une chaîne, puis en faisant cette chaîne.to_i
C´est Python en plus souple et un peu plus typé en fait (pour toutes les personnes compétentes qui me lisent, qu´elles ne me demandent pas ce que j´entends par "un peu" plus typé).