首页 > 解决方案 > Raku,Perl 的 5 `<>` 在哪里?

问题描述

我正在进一步使用 Raku 的 CommaIDE,我想逐行打印一个二进制文件。我试过这个,但它不起作用:

for "G.txt".IO.lines -> $line {
    say $_;
    }

我该如何解决?这显然是不正确的。

编辑 这也不起作用,请参阅下面的片段

for "G.txt".IO.lines -> $line {
    say $line;
    }

在此处输入图像描述

标签: while-loopprintfrakucommaide

解决方案


您正在向我们展示h.raku,但 Comma 给您一个关于 的错误c.raku,这是您 Comma 项目中的其他文件。

看起来您正在使用文本文件,而不是二进制文件。Raku 在这里做出了明确的区分:文本文件被视为文本,无论编码如何。如果它是 UTF-8,.lines那么现在使用应该可以正常工作,因为这是默认设置。如果是其他编码,您可以调用.lines(:enc<some-other-encoding>). 如果它是真正的二进制,那么“行”的概念真的没有意义,你想要更像 的东西.slurp(:bin),它会给你一个Buf[uint8]字节级别的工作。


推荐阅读