nDiki

2013年3月5日 (火)

Perl で "+{" は見かけるし使うけど、"{;" は見かけないし使ったことない

Perl で "{" はブロックの始まりと、無名ハッシュへのリファレンスであることの始まりが曖昧な文脈があって、後者であることを示すために "+{" という書き方がある。

このことが話題になったので、あらためて perlref を読んでみたら "{;" という書き方を発見。こちらはブロックであることを明示する時に使う。

以下 Perl 5.14.2 の prelref より抜粋。結果も 5.14.2 で確認。

 sub hashem {        { @_ } }   # silently wrong
 sub hashem {       +{ @_ } }   # ok
 sub hashem { return { @_ } }   # ok

上からリスト、 ハッシュリファレンス、ハッシュリファレンスを返す。

 sub showem {        { @_ } }   # ambiguous (currently ok, but may change)
 sub showem {       {; @_ } }   # ok
 sub showem { { return @_ } }   # ok

全てリストを返す。

スポンサード リンク
[ 3月5日全て ]

About Me

Naney Naney (なにい)です。株式会社ミクシィで SNS 事業の部長をしています。

nDiki1999年1月に始めたコンピュータ日誌を前身とする NaneyWeb 日記(兼パーソナルナレッジベース)です。ちょっとしたノートは nNote にあります。

※内容は個人的見解であり所属組織とは関係ありません。

follow us in feedly

月別インデックス
Process Time: 0.12745s / load averages: 0.29, 0.40, 0.44
nDiki by WATANABE Yoshimasa (Naney, Google profile)
Powered by DiKicker