首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Perl简单比较==与eq

问Perl简单比较==与eq
EN

Stack Overflow用户
提问于 2013-08-07 02:59:13
回答 2查看 9.7K关注 0票数 8

关于String compare in Perl with "eq" vs "=="的公认答案

上面说First, eq is for comparing strings; == is for comparing numbers.

"==进行数字比较:它将两个参数转换为一个数字,然后进行比较。“

eq进行字符串比较:这两个参数必须在词汇上匹配(区分大小写)。

您只能使用eq来比较字符串,但是

eq和==都适用于比较数字。

数字是字符串的子集,所以我只是不明白为什么要使用==

为什么要使用==来比较所有的数值,而不是使用eq呢?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-08-07 03:07:51

:

代码语言:javascript
复制
$a = "3.0";
print "eq" if $a eq "3"; # this will not print
print "==" if $a == 3;   # this will print

3.0在数字上等于3,所以如果您希望它们相等,请使用==。如果要进行字符串比较,则"3.0"不等于"3",因此在本例中将使用eq。最后,==是一个比eq更便宜的操作。

票数 15
EN

Stack Overflow用户

发布于 2013-08-07 03:46:02

字符串比较是完全不同的,特别是与数字。

代码语言:javascript
复制
@s_num=sort {$a <=> $b} (20,100,3);   # uses explicit numeric comparison
print "@s_num\n";                     # prints 3 20 100, like we expect

@s_char=sort (20,100,3);              # uses implicit string comparison
print "@s_char\n";                    # prints 100 20 3, not so good.

-Tom威廉斯

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18093890

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档