Perl   发布时间:2022-04-07  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了perl – 什么! (双重感叹号)是什么意思?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
在下面的代码中,从 blog post by Alias,我注意到使用双惊叹号!!。我想知道这是什么意思,我在未来可以去找到解释Perl语法如此。 (是的,我已经在 perlsyn搜索!!)。
package Foo;

use vars qw{$DEBUG};
BEGIN {
    $DEBUG = 0 unless defined $DEBUG;
}
use constant DEBUG => !! $DEBUG;

sub foo {
    debug('In sub foo') if DEBUG;

    ...
}

更新
感谢您的所有答案。

这里是别人我只是发现是相关的The List Squash Operator x!!

解决方法

这只是两个!布尔不是运算符彼此相邻。

使用这个成语的原因是确保你收到一个1或0.实际上,它返回一个空的字符串,numifys为0.它通常只用于数字或布尔上下文。

你通常会在Code Golf赛事中看到这个,因为它比使用三元组更短? :运算符为1和0($ test?1:0)。

!! undef  == 0
!! 0      == 0
!! 1      == 1
!! $obj  == 1
!! 100    == 1

undef ? 1 : 0  == 0
0     ? 1 : 0  == 0
1     ? 1 : 0  == 1
$obj  ? 1 : 0  == 1
100   ? 1 : 0  == 1

大佬总结

以上是大佬教程为你收集整理的perl – 什么! (双重感叹号)是什么意思?全部内容,希望文章能够帮你解决perl – 什么! (双重感叹号)是什么意思?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。