Suppose we define x and y to be two lists:
(define x (list 1 2 3)) (define y (list 4 5 6))
What result is printed by the interpreter in response to evaluating each of the following expressions:
(append x y) (cons x y) (list x y)Let's fire up our interpreter and find out...
> (define x (list 1 2 3)) > (define y (list 4 5 6)) > (append x y) (1 2 3 4 5 6) > (cons x y) ((1 2 3) 4 5 6) > (list x y) ((1 2 3) (4 5 6))In the first case we're using
append
which takes two lists and produces a new list containing all of the elements from both lists in order.In the second case we're using
cons
, which creates a pair using its two arguments. As the second argument is a list the resulting structure will also be a list... and as the first argument is a list the first element of the list will be that list.In the final case we're using
list
, which creates a list containing all of its arguments. We have two arguments, both of which are lists, so the resulting structure is a two-element list, each element of which is a list.
No comments:
Post a Comment