【问题标题】:Perl6 Terminal::Print how to prompt the user for input text?Perl6 Terminal::Print 如何提示用户输入文本?
【发布时间】:2019-11-27 14:14:49
【问题描述】:

我将 Perl6 Terminal::Print 模块用于基于控制台的应用程序。

它运行良好 - 但是,现在我需要提示用户输入一串文本。

有什么好的方法可以做到这一点?

【问题讨论】:

标签: printing terminal raku tui


【解决方案1】:

以下是使用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'";

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-08-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-01
    • 1970-01-01
    • 1970-01-01
    • 2015-01-03
    相关资源
    最近更新 更多