gpt4 book ai didi

perl - 'ne' 在 do-while 循环中不起作用,而 '!=' 起作用

转载 作者:行者123 更新时间:2023-12-05 00:52:35 25 4
gpt4 key购买 nike

我不确定自己犯了什么错误,但我只是更改了 ne!=它奏效了。

这是一个简单的程序,让用户猜测一个数字,直到他们命中目标数字。

#!/usr/bin/perl

my $guess = 1;

do {
$guess = <STDIN>;
} while ( $guess != 12 ) ; # it doesn't work if i replace != with ne

say "you guessed ", $guess;

最佳答案

Perl 的 ne是字符串不等运算符,所以 $guess12被视为字符串。

通过 <> 获得的字符串最后包含一个换行符,所以它不等于字符串 '12' .
!=是数字不等运算符,因此两个操作数都被视为数字。在这种情况下,Perl 将在进行转换时忽略任何尾随的非数字字符,因此会忽略换行符和字符串 12<newline>。被视为数字 12 .

你要吗chomp比较前得到的值,ne运算符(operator)也可以工作。

关于perl - 'ne' 在 do-while 循环中不起作用,而 '!=' 起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41538483/

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