J'ai un programme qui ressemble à ceci:
$offset = Point.new(100, 200);
def draw(point)
pointNew = $offset + point;
drawAbsolute(point)
end
draw(Point.new(3, 4));
l'utilisation de l' $offset
semble un peu bizarre.
En C, si je définir quelque chose en dehors de toute fonction, il est une variable globale automatiquement. Pourquoi Ruby-t-il $offset
mais ne peut pas être offset
et encore être global? Si c'est offset
, alors c'est un local? Mais local où, parce qu'il se sent très bien mondiale.
Sont t-il de meilleures façons d'écrire le code ci-dessus? L'utilisation de l' $offset
peut sembler un peu moche au premier abord.
Mise à jour: je peux mettre ce décalage à l'intérieur d'un class
définition, mais que faire si deux ou plusieurs classes ont besoin d'utiliser cette constante? Dans ce cas, dois-je encore besoin de définir un $offset
?