Курс языка программирования Raku / Объекты, ввод-вывод и исключения / Классы и объекты / Атрибуты / Exercises / Книга
Решение: Книга
Вот один из возможных вариантов решения задачи.
Код
class Book {
has Str $.title;
has Str $.author;
}
my $b = Book.new(title => 'Raku', author => 'Larry');
say "{$b.title} by {$b.author}";🦋 Исходный код можно найти в файле book.raku.
Вывод
Raku by LarryКомментарии
Каждое объявление,
has $.titleиhas $.author, создаёт атрибут вместе с аксессором для чтения.Оба аксессора используются внутри одной строки в двойных кавычках. Каждый заключён в фигурные скобки —
{$b.title}и{$b.author}, — а это форма интерполяции кода: то, что стоит в скобках, выполняется, и его результат подставляется в строку. Таким образом аксессоры вызываются, а их значения попадают в строку.Оба атрибута — строки, поэтому разумно так их и объявить.
Навигация по курсу
← Книга | Изменяемая метка →