gpt4 book ai didi

perl - 在 Perl 中,如何从 STDIN 中读取成对的空格分隔数字?

转载 作者:行者123 更新时间:2023-12-01 23:12:41 25 4
gpt4 key购买 nike

我想在 Perl 程序的每一行中有 2 个输入。

输入

4 3
3 1
5 7

我们可以通过这个语句在 Ruby 中做到这一点
a,b=gets.split.map &:to_i

最佳答案

如果这是来自 STDIN然后逐行阅读 split每行按空格

while (<STDIN>) 
{
my ($first, $second) = split;

# Do what you need with $first and $second
}
这使用默认值 split , 变量 $_ (分配输入)和分隔符模式 ' ' ,它代表任意数量的任意空格并丢弃前导和尾随空格。所以 split;以上同 split ' ', $_; .因此删除了每个输入行末尾的换行符。
为了更灵活,可以省略 STDIN文件句柄和使用
while (<>) { ... }
在这种情况下,在命令行上提交的文件都是逐行读取的,或者如果没有给出文件,则 STDIN被读取。
用于读取输入和菱形运算符 <>I/O Operators in perlop , 对于默认输入和模式搜索空间变量 $_General Variables in perlvar .
检查用户输入是另一回事。要检查这些确实是数字, looks_like_number 是一个很好的工具。来自核心模块 Scalar::Util .
我不知道你的程序中可能还有什么,但我建议总是从
use warnings 'all';
use strict;

关于perl - 在 Perl 中,如何从 STDIN 中读取成对的空格分隔数字?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40698288/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com