Raku-Kurs / Objekte, Ein- und Ausgabe und Ausnahmen / Klassen und Objekte / Attribute / Exercises / Ein Buch
Lösung: Ein Buch
Hier ist eine mögliche Lösung der Aufgabe.
Code
class Book {
has Str $.title;
has Str $.author;
}
my $b = Book.new(title => 'Raku', author => 'Larry');
say "{$b.title} by {$b.author}";🦋 Du findest den Quellcode in der Datei book.raku.
Ausgabe
Raku by LarryKommentare
Sowohl
has $.titleals auchhas $.authordeklariert ein Attribut samt einem Lese-Accessor.Beide Accessoren werden innerhalb einer Zeichenkette mit doppelten Anführungszeichen verwendet. Jeder steht in geschweiften Klammern —
{$b.title}und{$b.author}—, das ist die Form der Code-Interpolation: Was in den Klammern steht, wird ausgeführt und sein Ergebnis eingesetzt, die Accessoren werden also aufgerufen und ihre Werte in die Zeichenkette gestellt.Beide Attribute sind Zeichenketten, es ist also sinnvoll, sie auch so zu deklarieren.