我对使用用户定义函数返回函数的 Pari/GP 用户定义函数有疑问。这是一个愚蠢的例子:
? f(x) = { (t) -> x + t }
%1 = (x)->(t)->x+t
? g(x) = { local(y); y = f(x); (t) -> y(t) }
%2 = (x)->local(y);y=f(x);(t)->y(t)
? h = g(2)
%3 = (t)->my(x=2);y(t)
? h(1)
*** at top-level: h(1)
*** ^----
*** in function h: y(t)
*** ^----
*** not a function in function call
*** Break loop: type 'break' to go back to GP
我希望得到 h(1)=(g(2))(1)=y(1)=(f(2))(1)=3。我是否遇到了 Pari 中一流功能的限制,或者我做错了什么?如果是后者,我该如何解决?