如何将匿名函数表示为字符串

时间:2015-12-04 19:06:23

标签: string casting type-conversion julia anonymous-function

我想将x-> x ^ 2这样的函数表示为字符串 - 简单地做字符串(x-> x ^ 2)不起作用,有什么方法可以解决这个问题吗?

2 个答案:

答案 0 :(得分:1)

您可以使用fun=eval(parse("x->x^2"))从字符串创建函数,但据我所知,这是一个不可逆转的过程。

答案 1 :(得分:0)

仅仅因为某些东西有效,并不意味着它是一个解决方案......假设f是匿名函数。使用f = x->x^2。然后是以下内容:

join(map(strip,match(r"line \d*:\n(.*)\n",string(f.code)).captures),"\n")

给出:

return x ^ 2

可以使用f.code中的正则表达式提取更多内容。另请注意,这不适用于非匿名函数。而且这不应该依赖于工作。也许其他一些实现功能的方法也是最好的。