エントリーの編集
エントリーの編集は全ユーザーに共通の機能です。
必ずガイドラインを一読の上ご利用ください。
記事へのコメント2件
- 注目コメント
- 新着コメント
注目コメント算出アルゴリズムの一部にLINEヤフー株式会社の「建設的コメント順位付けモデルAPI」を使用しています
- バナー広告なし
- ミュート機能あり
- ダークモード搭載
関連記事
use constant した定数を実行時に書き換えるのは難しい - Pixel Pedals of Tomakomai
恥ずかしながら今日まで知らなかったんすっかり失念してたですが、要はラクダ本第3版の6.4.1 定数関数の... 恥ずかしながら今日まで知らなかったんすっかり失念してたですが、要はラクダ本第3版の6.4.1 定数関数のインライン化の内容です。 過ちを犯した use constant は関数と等価であることは有名です。それを利用して、定義した内容を実行時に別の値にしたくて以下のコードを書いたんですが、駄目でした。 use strict; use constant HOGE => 'A'; no warnings 'redefine'; *HOGE = sub () {'B'}; print HOGE, "\n"; これは A と出力されます。 理由 Deparseするとわかります。 % perl -MO=Deparse test.pl use constant ('HOGE', 'A'); no warnings; use strict 'refs'; *HOGE = sub () { 'B' } ;
2012/05/15 リンク