Archived
0
0

整合子模块

This commit is contained in:
2025-11-10 03:01:42 +08:00
parent 07dc70df93
commit 0a0fb73e52
12 changed files with 142 additions and 28 deletions

View File

@@ -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)