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运算符也可以工作. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |