Perl6 Terminal::Print 如何提示用户输入文字?
Perl6 Terminal::Print how to prompt the user for input text?
我正在为基于控制台的应用程序使用 Perl6 Terminal::Print 模块。
它运行良好 - 但是,现在我需要提示用户输入一串文本。
执行此操作的好方法是什么?
下面是使用 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'";
我正在为基于控制台的应用程序使用 Perl6 Terminal::Print 模块。
它运行良好 - 但是,现在我需要提示用户输入一串文本。
执行此操作的好方法是什么?
下面是使用 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'";