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 $offsetscheint 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 offsetund 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 $offsetmag zunächst etwas hässlich erscheinen.
Update: Ich kann diesen Offset in eine classDefinition einfügen, aber was ist, wenn zwei oder mehrere Klassen diese Konstante verwenden müssen? Muss ich in diesem Fall noch ein definieren $offset?