Ich habe ein Programm, das aussieht wie:
$offset = Point.new(100, 200);
def draw(point)
pointNew = $offset + point;
drawAbsolute(point)
end
draw(Point.new(3, 4));
Die Verwendung von $offset
scheint ein bisschen komisch.
Wenn ich in C etwas außerhalb einer Funktion definiere, ist es automatisch eine globale Variable. Warum muss es in Ruby sein $offset
, kann offset
und kann aber nicht global sein? Wenn ja offset
, dann ist es ein Einheimischer? Aber lokal wo, weil es sich sehr global anfühlt.
Gibt es bessere Möglichkeiten, den obigen Code zu schreiben? Die Verwendung von $offset
mag zunächst etwas hässlich erscheinen.
Update: Ich kann diesen Offset in eine class
Definition einfügen, aber was ist, wenn zwei oder mehrere Klassen diese Konstante verwenden müssen? Muss ich in diesem Fall noch ein definieren $offset
?