型検査3

変数名に疑似コードを織り込むというやり方についてなのだが、全角でコードを書いてしまうという手法が最も強力なのは間違いない。しかし、強力すぎて本来のコードを見失いかねない(というより絶対に見失う)ので、実用性は皆無だろう。
許せる範囲で言えば変数名に使えない記号*1をひたすらエスケープするというやり方がある。
エスケープ記号としては$が適しているだろうし、空白は大量に必要だから_一つで表現したい。となると、=は$EQ,+は$PLなどと変換すれば良さそう。変数名と疑似コードを分割する記号を$ASとしてみると、

x$AStypeof$LPx$RP$EQ$EQ$DQnumber$DQ = 1;
src = "x$AStypeof$LPx$RP$EQ$EQ$DQnumber$DQ";
code = hoge(src);//code = "typeof(x$AStypeof$LPx$RP$EQ$EQ$DQnumber$DQ)==\"number\"";
eval(code);

という感じ。うわ、絶対使いたくない。

*1:=,+,-,(,),……など。