加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

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

发布时间:2020-12-16 06:09:51 所属栏目:大数据 来源:网络整理
导读:我不确定我犯的是什么错误,但我只是将ne改为!=并且它有效. 这是一个简单的程序,让用户猜出一个数字,直到他们达到目标数字. #!/usr/bin/perlmy $guess = 1;do { $guess = STDIN;} while ( $guess != 12 ) ; # it doesn't work if i replace != with nesay "y
我不确定我犯的是什么错误,但我只是将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是字符串不等于运算符,因此$guess和12被视为字符串.

通过<>获得的字符串最后包含换行符,因此它不等于字符串’12’.

!=是数字不等于运算符,因此两个操作数都被视为数字.在这种情况下,Perl在进行转换时将忽略任何尾随的非数字字符,因此将忽略换行符并且字符串12< newline>被视为数字12.

如果你在比较之前选择获得的值,那么ne运算符也可以工作.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读