エントリーの編集
エントリーの編集は全ユーザーに共通の機能です。
必ずガイドラインを一読の上ご利用ください。
記事へのコメント2件
- 注目コメント
- 新着コメント
注目コメント算出アルゴリズムの一部にLINEヤフー株式会社の「建設的コメント順位付けモデルAPI」を使用しています
- バナー広告なし
- ミュート機能あり
- ダークモード搭載
関連記事
Perl5のサブルーチン呼び出し時に二項演算子を期待していたら単項演算子の引数として認識されてしまう - その手の平は尻もつかめるさ
sub func { return 100; } みたいなサブルーチンがあった時に, say(func - 99); みたいな感じで呼び出... sub func { return 100; } みたいなサブルーチンがあった時に, say(func - 99); みたいな感じで呼び出すと,パッと見 1 が出力されそうに見えるが,実際は 100 が出力される. これは - 99 が func の引数として解釈されて食われるためである. B::Deparse するとわかりやすい. $ perl -MO=Deparse func.pl sub func { use warnings; use strict; use feature 'say'; return 100; } use warnings; use strict; use feature 'say'; say func(-99); func.pl syntax OKここから,二項演算子としての振る舞いを期待していた - が 99 と結合して単項演算子として扱われ, -99 が引数
2017/06/17 リンク