Ich studiere gerade in der Code-Schule und Mentor geben uns eine Heimarbeit, aber ich verstehe es nicht wirklich. Kannst du mir helfen?Erstellen von Klassen für geometrische Formen (Punkte, Linien, Quadrat, Dreieck, etc.) (Rubin)
So waren wir eine geometrische Formen über Klassen erstellen gestellt:
- vor allem wir eine Klasse Punkt
- das schaffen müssen, dann müssen wir Klasse Line (Linie erstellen - wenn zwei Punkte verbunden sind, )
- und der nächsten Schritt, zum Beispiel wollen wir einen Platz
und ich Code habe erstellen begonnen, und erstellt eine Klasse Point, mit zugänglichen Koordinaten (2d):
class Point
attr_accessor :x, :y
def initialize
@x = 10
@y = 10
end
def x=(value)
@x = value
end
def x()
@x
end
def y=(value)
@y = value
end
def y()
@y
end
end
Und zum Beispiel möchte ich eine neue Punktklasse erstellen. Also:
p = Point.new
p.x = 1
p.y = 5
print p # -> #<Point:0x007f9463089cc0>
Und als Ergebnis, ich habe etwas, was wie folgt aus:
#<Point:0x007f9463089cc0>
Was bedeutet das?
Aber wenn ich p.x und p.y drucken fragen - dann werde ich eine verständliche Folge haben:
print p.x, ", ", p.y # -> 1, 5
Mache ich etwas falsch oder wie kann ich dieses Ergebnis auf dem Bildschirm zu verstehen?
Bitte, ich brauche Hilfe wirklich, dies zu verstehen ...
Vielen Dank für Ihre Hilfe!
Und eine andere Frage erscheint, gibt es irgendeine Verwendung in realen Programmierauftrag, um Punkt, Linien und geometrische Formen zu erstellen?
Beachten Sie, dass 'print p' tatsächlich' print p.to_s'. Probieren Sie 'print p.inspect' aus. – Raffael
@Raffael Nicht klar, was du meinst. Wenn das der Fall ist, wäre es eine unendliche Rekursion. – sawa