4

より短い構文または演算子はありますか

defined $functionpointer ? $functionpointer->($value) : $value

-Operator のような//sth を使用して、簡単に記述できるようにしたいと思います

$functionpointer //->() $value

またはその方向の何か

私がやりたくないのは、余分なメソッドやオーバーロード演算子などを書くことです

4

3 に答える 3

3

いいえ、ありません。ただし、それを導入することについては議論があります: PerlMonks での安全な逆参照のために p5p が使用すべき演算子

于 2012-09-04T10:20:15.730 に答える
3

$functionpointer次のように、デフォルト値を返す無名定数関数に置き換えることができます (5.12.1 でテスト済み)。

($functionpointer // sub {$default})->(@args)

少しハックですが、動作します。:)

于 2012-09-04T10:25:31.503 に答える
2

ほとんどの言語と比較して、すでにかなり簡潔になっていると思います。さらに読みにくくすることで何を達成したいのか理解できません

私がすることの1つは、を削除してdefined残すことです

$functionpointer ? $functionpointer->($value) : $value

が定義され$functionpointer、有効なサブルーチン参照であるかのように、常に true になります

于 2012-09-04T13:36:42.877 に答える