Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/perl/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Perl6:getc处于原始模式_Perl_Terminal_Raku_Getc - Fatal编程技术网

Perl6:getc处于原始模式

Perl6:getc处于原始模式,perl,terminal,raku,getc,Perl,Terminal,Raku,Getc,我正在使用Perl6模块 当我运行此脚本并按向上箭头、向下箭头、向右箭头、向左箭头和q键时,这是输出: #after arrow-up: got: 27 got: 91 #after arrow-down: got: 65 got: 27 got: 91 #after arrow-right: got: 66 got: 27 got: 91 #after arrow-left: got: 67 got: 27 got: 91 #after q: got: 68 #after anoth

我正在使用Perl6模块

当我运行此脚本并按向上箭头、向下箭头、向右箭头、向左箭头和q键时,这是输出:

#after arrow-up:
got: 27
got: 91

#after arrow-down:
got: 65
got: 27
got: 91

#after arrow-right:
got: 66
got: 27
got: 91

#after arrow-left:
got: 67
got: 27
got: 91

#after q:
got: 68

#after another q:
got: 113
但我本以为:

#after arrow-up:
got: 27
got: 91
got: 65

#after arrow-down:
got: 27
got: 91
got: 66

#after arrow-right:
got: 27
got: 91
got: 67

#after arrow-left:
got: 27
got: 91
got: 68

#after q:
got: 113

如何修改脚本以获得所需的输出?

替换
my$c=$*IN.getc带有
my$c=$*IN.read(1)
并将其余代码更改为处理缓冲区而不是字符串。

在.getc
中,您是否尝试过在.read(1)中使用
$*(并将代码修改为采用Buf而不是字符串)?@bb94:With
read()
,效果很好。你能把你的评论改成回答吗?
#after arrow-up:
got: 27
got: 91
got: 65

#after arrow-down:
got: 27
got: 91
got: 66

#after arrow-right:
got: 27
got: 91
got: 67

#after arrow-left:
got: 27
got: 91
got: 68

#after q:
got: 113