是否有更短的语法或运算符
defined $functionpointer ? $functionpointer->($value) : $value
我想要像//
-Operator这样的东西,这样我就可以很快写
$functionpointer //->() $value
或者那个方向的任何东西
我不想做的是写一个额外的方法,重载运算符等等
不,没有。不过,有关于引入它的讨论:在PerlMonks,p5p 应该使用什么运算符来安全解除引用。
您可以将 替换为$functionpointer
返回默认值的匿名常量函数,如下所示(在 5.12.1 中测试):
($functionpointer // sub {$default})->(@args)
这有点骇人听闻,但它确实有效。:)
我认为与大多数语言相比,它已经相当简洁了。我不明白您希望通过使其更不清晰来实现什么
我会做的一件事是删除defined
, 离开
$functionpointer ? $functionpointer->($value) : $value
好像$functionpointer
已定义并且是有效的子例程引用,它将始终为真