diff options
| author | mryouse | 2022-06-25 01:55:20 +0000 |
|---|---|---|
| committer | mryouse | 2022-06-25 01:55:20 +0000 |
| commit | 8a82acd2c0dbd26b7eecc31080046d1855c85ea3 (patch) | |
| tree | 46352a17b465b88a3c45c7dea1b0445c545cf61c | |
| parent | 8e1e9531e587783dd4518b8464cce5e497dfd0ff (diff) | |
performance of environment.get not so good
| -rw-r--r-- | neb/structs.py | 10 |
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 = "" |
