このブログは、旧・はてなダイアリー「檜山正幸のキマイラ飼育記 メモ編」(http://d.hatena.ne.jp/m-hiyama-memo/)のデータを移行・保存したものであり、今後(2019年1月以降)更新の予定はありません。

今後の更新は、新しいブログ http://m-hiyama-memo.hatenablog.com/ で行います。

ロクでもない変数と代入

単純変数と再帰変数(事実上は関数、あるいはon-demand遅延評価変数)の区別を設けたのはいいが、

X ?= $(warning X defined)foo
Y ?= $(warning Y defined)$(X)
Z := $(warning Z defined)$(Y)

「?=」は再帰変数になる。「?=」が欲しいのはむしろ単純変数だが、それができない。

「+=」は便利だが、なんと再帰変数にも使えてしまう。変数と関数の区別があればありえない仕様だ。