就这么简单,如何在 Perl6 中从 STDIN 读取输入?
我认为有很多方法可以做到这一点,但我对最惯用的 Perl6 解决方案感兴趣。
Perl6 中的标准输入文件描述符是$*IN
(在 Perl5 中,*STDIN
typeglob 对 STDIN 文件描述符的引用为*STDIN{IO}
)。
从标准输入读取的一种方法如下:
for lines() {
say "Read: ", $_
}
事实上,lines()
没有调用对象默认为$*IN.lines()
.
使用局部变量的另一种方法是:
for $*IN.lines() -> $line {
say "Read: ", $line
}
看到更多替代方法会很酷。
您还可以使用slurp
不带参数的方式 slurp 整个标准输入。此代码将吞下整个输入并打印出来。
print slurp;
如果你想得到行,你可以使用lines()
迭代器,就像<>
在 Perl 5 中一样。请注意,与 Perl 5 不同的是,它会自动 chomps 行。
for lines() {
say $_;
}
当您想获得单行时lines()
,可以使用get
.
say get();
如果您需要向用户询问某事,请使用prompt()
.
my $name = prompt "Who are you? ";
say "Hi, $name.";