aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormryouse2022-06-25 01:55:20 +0000
committermryouse2022-06-25 01:55:20 +0000
commit8a82acd2c0dbd26b7eecc31080046d1855c85ea3 (patch)
tree46352a17b465b88a3c45c7dea1b0445c545cf61c
parent8e1e9531e587783dd4518b8464cce5e497dfd0ff (diff)
performance of environment.get not so good
-rw-r--r--neb/structs.py10
1 files changed, 6 insertions, 4 deletions
diff --git a/neb/structs.py b/neb/structs.py
index 1cb2adc..fcfa430 100644
--- a/neb/structs.py
+++ b/neb/structs.py
@@ -163,12 +163,14 @@ class Environment:
return False
def get(self, key):
- if not self.contains(key):
- raise NebPanic(f"undefined symbol: '{key}")
- if key in self.environment:
+ try:
return self.environment[key]
- else:
+ except:
+ pass
+ try:
return self.parent.get(key)
+ except:
+ raise NebPanic(f"undefined symbol: '{key}")
def __str__(self):
out = ""