Курс языка программирования Raku / Объекты, ввод-вывод и исключения / Классы и объекты / Атрибуты / Exercises / Класс точки
Решение: Класс точки
Вот один из возможных вариантов решения задачи.
Код
class Point {
has $.x;
has $.y;
}
my $a = Point.new(x => 3, y => 4);
my $b = Point.new(x => 0, y => 0);
my $dist = sqrt(($a.x - $b.x) ** 2 + ($a.y - $b.y) ** 2);
say $dist;🦋 Исходный код можно найти в файле point-class.raku.
Вывод
5Комментарии
Два объявления,
has $.xиhas $.y, создают атрибуты вместе с аксессорами для чтения.Каждый объект хранит собственные
xиy, поэтому$aи$bсообщают разные координаты, хотя это объекты одного вида. В этой независимости и состоит весь смысл атрибутов: каждый экземпляр несёт собственные данные.
Навигация по курсу
← Класс точки | Счётчик →