def make_vector(arguments): check_argument_number('make-vector', arguments, 1, 2) # todo: type check this is an integer vector_length = arguments[0].value vector = Vector(vector_length) # If we're given an initialisation value, use it. if len(arguments) == 2: init_value = arguments[1] for i in range(vector_length): vector[i] = init_value return vector
def test_make_vector(self): program = '(make-vector 0)' self.assertEvaluatesAs(program, Vector(0)) program = '(make-vector 2)' self.assertEvaluatesAs(program, Vector(2))