Perl6 Terminal :: Печать, как запросить у пользователя вводимый текст? - PullRequest
0 голосов
/ 05 марта 2019

Я использую модуль Perl6 Terminal :: Print для консольного приложения.

Работает хорошо - однако теперь мне нужно запросить у пользователя строку текста.

Какой хороший способ сделать это?

1 Ответ

0 голосов
/ 05 марта 2019

Вот пример использования Terminal::Print::RawInput для получения имени файла в качестве пользовательского ввода:

use v6;
use Terminal::Print;
use Terminal::Print::RawInput;

my $screen = Terminal::Print.new;

# saves current screen state, blanks screen, and hides cursor
$screen.initialize-screen;

$screen.print-string(9, 23, "Enter filename: ");
my $in-supply = raw-input-supply;
my $filename;
react {
    whenever $in-supply -> $c {
        done if $c.ord ~~ 3|13; # Enter pressed or CTRL-C pressed
        my $char = $c.ord < 32 ?? '' !! $c;
        $filename ~= $char;
        print $char;
     }
}

sleep .1;
$screen.shutdown-screen; 
say "Filename entered: '$filename'";
...