[A] なるほど。じゃあこういうユーザ関数を作ったらどうですか?・・・こんなふうに関数を定義するための方法を後からいくらでも作れるので、どんどん使いやすくできます。
defFuncCache100 = function ()
{
dumpArg = dump(subarray(arg 0 size(arg) - 1)
eval(
format {
function %
{
funcCache (% 100)
{
%
}
}
} ("%" dumpArg dumpArg dump(arg[size(arg) - 1]) )
)
}
// 上記があればこう書ける
func = defFuncCache100 (a b c)
{
重たい計算
}
// 注釈
// dump : 引数の内容を文字列に変換する、その文字列の前に a = を書き足せば、aにその内容が完全に復元されるような、完全な形式で文字列化する
// arg : 関数が受け取った引数全体
// subarray : 配列の一部を取得
// eval : 引数文字列を実行して結果を返す
// format : sprintf みたいなもの、文字列内の任意のキーワードを置換していく