Курс языка программирования Raku / Основы / Написание и запуск программ / Простой ввод и вывод
Ввод с использованием
prompt
Противоположным для say является prompt. Он
ждет, пока пользователь что-нибудь введет и нажмет Enter. После этого он
пошлет этот ввод в программу в виде строки. Вы можете взять результат
prompt и отправить его в say. В этом случае вы
выводите обратно то, что пользователь печатает. Давайте создадим такую
программу:
say prompt;Если вы запустите эту программу, вы можете быть в замешательстве, так
как программа перейдет в состояние, в котором она ожидает ввода. Чтобы
сделать программу более дружелюбной, хорошим способом будет напечатать
сообщение. Вам не нужно добавлять отдельный вызов say,
потому что вы можете отправить это сообщение в prompt:
prompt 'What language are you going to learn? 'До того, как мы закончим эту главу, давайте попробуем собрать все части воедино и сотворить программу, которая спрашивает о пожеланиях пользователя и после этого напечатает фразу, используя текст, введенный пользователем.
say 'You are going to learn ', prompt 'What language are you going to learn? ';Если вы ввели Raku, вы увидите следующую фразу:
You are going to learn RakuОтлично, теперь мы можем говорить с программой, и мы можем заставить программу говорить с нами!
Заметьте, что так как функции say требуется знать строку
перед тем, как ее напечатать, Raku в первую очередь выполнит
prompt, поэтому следующий диалог будет идти в правильном
порядке:
$ raku t.raku
What language are you going to learn? Raku
You are going to learn Raku