作者: 機械伯爵 | |
日時: 2003/6/5(07:56) |
機械です。 判る人には無意味だということもわかり、 判らない人には何の意味があるかわからない、 PythonでSchemeやSmalltalkのブロックを エミュレートする方法です。 式だけなら、lambda式が使えますが、代入文が 混じるともう不可能なので、文交じりのブロックを 実行する裏技・・・ >>> def r_lambda(s): ... s = "def fnc" + s ... exec s ... return fnc ... >>> r_lambda("(a,b):x=a+b;y=x*x;return y")(5,15) 400 >>> いや、出来たからなんだとゆーものですが・・・ ※二重括弧が極めてかっこ悪い・・・ ちなみに、for文などのブロックヘッダを二重化する 方法は、まだ考えていません。 /機械伯爵/