while-loop - Raku,Perl 的 5 `<>` 在哪里?
问题描述
我正在进一步使用 Raku 的 CommaIDE,我想逐行打印一个二进制文件。我试过这个,但它不起作用:
for "G.txt".IO.lines -> $line {
say $_;
}
我该如何解决?这显然是不正确的。
编辑 这也不起作用,请参阅下面的片段
for "G.txt".IO.lines -> $line {
say $line;
}
解决方案
您正在向我们展示h.raku
,但 Comma 给您一个关于 的错误c.raku
,这是您 Comma 项目中的其他文件。
看起来您正在使用文本文件,而不是二进制文件。Raku 在这里做出了明确的区分:文本文件被视为文本,无论编码如何。如果它是 UTF-8,.lines
那么现在使用应该可以正常工作,因为这是默认设置。如果是其他编码,您可以调用.lines(:enc<some-other-encoding>)
. 如果它是真正的二进制,那么“行”的概念真的没有意义,你想要更像 的东西.slurp(:bin)
,它会给你一个Buf[uint8]
字节级别的工作。
推荐阅读
- javascript - 收集并总计时间间隔
- list - 如何随机混合两个 PyTorch 张量
- java - 第 K 个元素在最小堆上的最佳性能?
- python - 如何将熊猫数据框合并到具有更多列的数据框,同时用相应的值填充空列?
- python - KeyError:“在轴中找不到 ['Close']”
- python - 日期时间格式不正确 'YYYY-MM-DDThh:mm:ss.sssZ'
- python - 如何使用 NaN 元素在 pandas 数据框中执行 int 操作
- matplotlib - 带有 QuTip Bloch 球的子图
- python - 无法在 DataFrame 中按名称选择列
- swift - NSAttributedString 不服从foregroundColor