より短い構文または演算子はありますか
defined $functionpointer ? $functionpointer->($value) : $value
-Operator のような//
sth を使用して、簡単に記述できるようにしたいと思います
$functionpointer //->() $value
またはその方向の何か
私がやりたくないのは、余分なメソッドやオーバーロード演算子などを書くことです
いいえ、ありません。ただし、それを導入することについては議論があります: PerlMonks での安全な逆参照のために p5p が使用すべき演算子。
$functionpointer
次のように、デフォルト値を返す無名定数関数に置き換えることができます (5.12.1 でテスト済み)。
($functionpointer // sub {$default})->(@args)
少しハックですが、動作します。:)
ほとんどの言語と比較して、すでにかなり簡潔になっていると思います。さらに読みにくくすることで何を達成したいのか理解できません
私がすることの1つは、を削除してdefined
残すことです
$functionpointer ? $functionpointer->($value) : $value
が定義され$functionpointer
、有効なサブルーチン参照であるかのように、常に true になります