大佬教程收集整理的这篇文章主要介绍了Perl中可以使用什么样的语法糖来减少l / rvalue运算符的代码与if语句?,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
这是我到目前为止
$r ||= $s; # $r = $s unless ($r); $r //= $s; # $r = $s unless (defined $r); $r &&= $s; # $r = $s if ($r); $r = $c ? $s : $t; # if ($C) { $r = $s } else { $r = $t } $c ? $r : $s = $t; # if ($C) { $r = $t } else { $s = $t } $r = $s || $t; # if ($s) { $r = $s } else { $r = $t } $r = $s && $t; # if ($s) { $r = $t } else { $r = $s = undef,untrue,etc. } $c and return $r; # return $r if ($c); $c or return $r; # return $r unless ($c); $c and $r = $s; # $r = $s if ($c); @$r{qw(a b c d)} # ($r->{a},$r->{B},$r->{C},$r->{D})
有人也有一个really interesting article在一个“秘密操作符”,如下所示:
@H_904_4@my @part = ( 'http://example.net/app',( 'admin' ) x!! $is_admin_link,( $subsite ) x!! defined $subsite,$mode,( $id ) x!! defined $id,( $submode ) x!! defined $submode,);但是,我发现从列表中缺少的是:
$r <= $s; # read as "$r = min($r,$s);" except with short-circuiTing $r = $s if (defined $s); # what's the opposite of //? $r and return $r # can that be done without repeaTing $r?
还有什么值得添加的吗?什么其他条件集变量可用来减少代码?还有什么缺点?
$c and return $r; # return $r if ($c); $c or return $r; # return $r unless ($c); $c and $r = $s; # $r = $s if ($c);
与语句修饰符控制字不同,和/或是不同的是,和/或可以链接到复合表达式中.
语法糖的另一个有用工具是使用for / foreach循环作为单一值的分配器.考虑以下几点:
$var = $new_value if Defined $new_value;
VS
defined and $var = $_ for $new_value;
或者像
$foo = "[$foo]"; $bar = "[$bar]"; $_ = "[$_]" for $foo,$bar;
也可以以这种方式使用地图函数,并具有可以使用的返回值.
以上是大佬教程为你收集整理的Perl中可以使用什么样的语法糖来减少l / rvalue运算符的代码与if语句?全部内容,希望文章能够帮你解决Perl中可以使用什么样的语法糖来减少l / rvalue运算符的代码与if语句?所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。