免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1675 | 回复: 2

关于逻辑操作符的问题. [复制链接]

论坛徽章:
0
发表于 2012-11-10 02:09 |显示全部楼层
本帖最后由 yumiao5642 于 2012-11-10 02:10 编辑

初学Perl,现遇到个短路操作符的问题:
        逻辑操作符会判断左边的值,并决定是否执行右边的表达示,那可不可以进行两边都判断呢?
                  例如:
                  my $a = 20;
                  chomp($b = <STDIN>);
                  ( $b < $a ) && ( $a = 11 ) ;
         假设$b<$a为真,&&后面会执行附值11给$a的操作,我想问的是假如需要右边也进行判断操作的时候怎么写?
          (我想不到什么情况下需要这样的判断,不局限于数字操作,也可以是字符串匹配等其他情况).
         "输入数值小于$a,并且$a=11"这种判断没意义,因为可以直接写判断$b是否等于11,我就是想问在&&右边是否可以进行相等判断?

论坛徽章:
0
发表于 2012-11-10 08:22 |显示全部楼层
右边也需进行判断的时候可以这样
$b < $a && $a > $c ,这个可以连续判断的,如:
$b < $a && $a > $c && $a != 3

论坛徽章:
0
发表于 2012-11-10 14:50 |显示全部楼层
回复 1# yumiao5642


    哈哈,其实你这个属于跳跃式前进了……
这个&&本来就是两遍都要判断的,是个“与门”(电路用语)。后来延伸了一下,用它进行快捷操作,所以才产生了你所见的左边判断,如果是真,则进行右边赋值操作。其实在Perl看来,这个操作本质上还是两边都执行的判断……:wink:
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP