欢迎来到山村网

Perl中的真与假深入研究

2019-03-02 13:45:06浏览:631 来源:山村网   
核心摘要:  这篇文章主要介绍了Perl中的真与假深入研究,本文详细讲解了Perl中真值与假值的不同,需要的朋友可以参考下  Perl认为真值是

  这篇文章主要介绍了Perl中的真与假深入研究,本文详细讲解了Perl中真值与假值的不同,需要的朋友可以参考下

  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

(责任编辑:豆豆)
下一篇:

C#中的正则表达式双引号问题

上一篇:

Python lxml模块安装教程

  • 信息二维码

    手机看新闻

  • 分享到
打赏
免责声明
• 
本文仅代表作者个人观点,本站未对其内容进行核实,请读者仅做参考,如若文中涉及有违公德、触犯法律的内容,一经发现,立即删除,作者需自行承担相应责任。涉及到版权或其他问题,请及时联系我们 xfptx@outlook.com