🐐 Various fixes
This commit is contained in:
@@ -259,9 +259,11 @@ class DataRangeArray(Node):
|
||||
def _eval(self, vtable):
|
||||
vtable, from_val = self.from_value.eval(vtable)
|
||||
vtable, to_val = self.to_value.eval(vtable)
|
||||
if not isinstance(from_val, ValInt) or not isinstance(to_val, ValInt):
|
||||
if not isinstance(from_val, (ValInt, ValNul)) or not isinstance(to_val, (ValInt, ValNul)):
|
||||
raise CentvrionError("Range bounds must be numbers")
|
||||
return vtable, ValList([ValInt(i) for i in range(from_val.value(), to_val.value())])
|
||||
from_int = from_val.value() or 0
|
||||
to_int = to_val.value() or 0
|
||||
return vtable, ValList([ValInt(i) for i in range(from_int, to_int)])
|
||||
|
||||
|
||||
class String(Node):
|
||||
@@ -894,4 +896,6 @@ class Program(BaseBox):
|
||||
last_val = ValNul()
|
||||
for statement in self.statements:
|
||||
vtable, last_val = statement.eval(vtable)
|
||||
if vtable["#return"] is not None:
|
||||
return vtable["#return"]
|
||||
return last_val
|
||||
|
||||
Reference in New Issue
Block a user