是否有更短的语法或运算符
defined $functionpointer ? $functionpointer->($value) : $value
我想要//
- 运营商,以便我可以尽快写出来
$functionpointer //->() $value
或那个方向的任何东西
我不想要做的是写一个额外的方法,重载运算符等等
答案 0 :(得分:3)
不,没有。但是,有关于介绍它的讨论:What operator should p5p use for safe dereferencing在PerlMonks。
答案 1 :(得分:3)
您可以用匿名常量函数替换$functionpointer
,该函数返回您的默认值(在5.12.1中测试):
($functionpointer // sub {$default})->(@args)
这有点hackish,但它的确有效。 :)
答案 2 :(得分:2)
我认为与大多数语言相比,它已经非常简洁了。我不明白你希望通过使其更难辨认而实现的目标
我要做的一件事就是删除defined
,留下
$functionpointer ? $functionpointer->($value) : $value
好像定义了$functionpointer
并且它是一个有效的子程序引用它始终是真的