Perl中的真与假深入研究

2023-12-08 0 485

Perl认为值是自明的(self-evident), 表示任何事物的真值都可以计算。Perl以实用的方式来定义真值,即一个实体的真值取决于这个实体的类型。Perl总是乐观的认为:这个世界上真的东西远比的东西多的多。

Perl区别与任何其他计算机语言,Perl是语言学家创造的,而语言的意思离不开上下文语境,所以Perl中的真值都可以在标量(标量$与数组@类似于英文中的单数与复数, book 与 books的区别, 真值在现实世界中,应该就是单数,所以是标量)计算,除此之外,不会做任何类型的强制转换(比如在Python中int(\’42\’)来将含数字的字符型转换int类型,在Java中(int)\’d\’将字符型转为整型)。

对于标量中各种类型的值,规则如下:

字符型: 除了\”\”和\”0\”,所有字符都是真(true)
数字型: 除了0外,所有数字都是true
引用型: 所有引用都为true(所有引用都会指向有地址的对象,这绝对不会为0,因为它肯定已定义)
未定义: 所有未定义值都是false

下面例子可以很好理解Perl中真、假的概念:
复制代码 代码如下:
0 # 将转换为字符串\”0\”,所以为false
1 # 将转换为字符串\”1\”,所以为true
100 – 100 # 100-100等于0,这将转换为字符串\”0\”,所以为false
0.00 # 等于0,将转换为字符串\”0\”,所以为false
\”0\” # 字符串\”0\”,所以为false
\”\” # 这是空串,所以为false
\”0.00\” # 即不是\”\”,也不是\”0\”,所以为true
\”0.00\” + 0 # 由+强制转换,计算结果为0,所以为false
\\$a # 标量$a的引用,所以为true,即使$a为false也是如此。
undef() # 是一个返回未定义值的函数,所以为false

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

悠久资源 Perl Perl中的真与假深入研究 https://www.u-9.cn/jiaoben/perl/144906.html

常见问题

相关文章

发表评论
暂无评论
官方客服团队

为您解决烦忧 - 24小时在线 专业服务