You've already forked HeurAMS-legacy
整合子模块
This commit is contained in:
@@ -61,13 +61,16 @@ class Atom():
|
||||
"""
|
||||
# eval 环境设置
|
||||
def eval_with_env(s: str):
|
||||
nucleon = self.registry['nucleon']
|
||||
default = config_var.get()["puzzles"]
|
||||
metadata = nucleon.metadata
|
||||
try:
|
||||
nucleon = self.registry['nucleon']
|
||||
default = config_var.get()["puzzles"]
|
||||
metadata = nucleon.metadata
|
||||
except:
|
||||
ret = "尚未链接对象"
|
||||
try:
|
||||
ret = str(eval(s))
|
||||
except:
|
||||
ret = "此 eval 实例发生错误"
|
||||
except Exception as e:
|
||||
ret = f"此 eval 实例发生错误: {e}"
|
||||
return ret
|
||||
|
||||
def traverse(data, modifier):
|
||||
@@ -82,7 +85,10 @@ class Atom():
|
||||
elif isinstance(data, tuple):
|
||||
return tuple(traverse(item, modifier) for item in data)
|
||||
else:
|
||||
return modifier(data)
|
||||
if isinstance(data, str):
|
||||
if data.startswith("eval:"):
|
||||
return modifier(data[5:])
|
||||
return data
|
||||
|
||||
traverse(self.registry["nucleon"], eval_with_env)
|
||||
traverse(self.registry["orbital"], eval_with_env)
|
||||
|
||||
Reference in New Issue
Block a user