Курс языка программирования Raku / Основы / Строки / Упражнения / Таблица покупок

Решение: Таблица покупок

Код

Вот возможное решение:

my $chair-price = 20.57;
my $chairs = 4;
my $chairs-total = $chair-price * $chairs;

my $table-price = 50.18;
my $tables = 1;
my $tables-total = $table-price * $tables;

say "Item\tPrice\tN\tTotal";
say "Chairs\t\$$chair-price\t$chairs\t\$$chairs-total";
say "Tables\t\$$table-price\t$tables\t\$$tables-total";

Все числа заданы вручную и сохранены в переменных. Мы также используем оператор умножения *, чтобы посчитать результат. Мы узнаем больше об операторах в следующих главах этого курса, но на данный момент конструкция $chair-price * $chairs не должна быть чем-то, что вызывает вопросы.

Три строки, которые производят вывод, печатают три ряда таблицы, включая заголовки. Колонки отделены друг от друга символом таб \t. В рядах с данными мы также видим экранированный символ доллара \$, как и другие переменные, которые мы хотим интерполировать.

🦋 Вы можете найти исходный код в файле purchase-table.raku.

Вывод

Запустите программу, и она выведет таблицу:

$ raku exercises/strings/purchase-table.raku
Item    Price   N      Total
Chairs  $20.57  4      $82.28
Tables  $50.18  1      $50.18

Комментарии

Вы заметили дефисы в именах переменных, таких как $chair-price или $tables-total? Это вполне приемлемый способ именования переменных в Raku.

Не позвольте себя смутить двумя последовательными знаками доллара. Raku читает их по-отдельности. Например, в подстроке \$$price первый знак доллара экранирован и поэтому представляет сам себя, тогда как второй является частью переменной $price.

Все строки заключены в двойные кавычки, чтобы позволить интерполяцию переменных и специальных символов.

Давайте еще раз вернемся к этому заданию, когда мы познакомимся с массивами и словарями.

Следующее упражнение

💪 Длина имени

Навигация по курсу

Скалярные переменные / Имена переменных   |   Числа

Эта страница переведена с английского человеком. Оригинальный текст на английском языке. О переводе.

Переводы этой страницы: EnglishDeutschEspañolItalianoLatviešuNederlandsБългарскиРусскийУкраїнська