将 python literal_eval 字符串转换为 hy
Convert python literal_eval string to hy
我想将以下内容转换为 Hy,但我似乎不知道该怎么做;有没有办法将一串 python 代码转换为 hy 语法?我不知道 py
是否有效,因为 f_back
的评估结果可能不安全。
import ast, inspect
def test(f_back):
return ast.literal_eval(f"inspect.currentframe(){'.f_back' * f_back}")
您始终可以在循环中重复计算 x = x.f_back
,而不是为此使用元编程。
为了解决更普遍的问题,Hy 本身只实现了 Hy-to-Python 方向,而不是 Python 到 Hy。还有 Hikaru Ikuta 的 py2hy, which doesn't work with recent releases of Hy, but he's recently talked about updating it,所以这可能很快就会改变。
我想将以下内容转换为 Hy,但我似乎不知道该怎么做;有没有办法将一串 python 代码转换为 hy 语法?我不知道 py
是否有效,因为 f_back
的评估结果可能不安全。
import ast, inspect
def test(f_back):
return ast.literal_eval(f"inspect.currentframe(){'.f_back' * f_back}")
您始终可以在循环中重复计算 x = x.f_back
,而不是为此使用元编程。
为了解决更普遍的问题,Hy 本身只实现了 Hy-to-Python 方向,而不是 Python 到 Hy。还有 Hikaru Ikuta 的 py2hy, which doesn't work with recent releases of Hy, but he's recently talked about updating it,所以这可能很快就会改变。