リスト内のアイテムに特定のスコアを与える関数を作成しました
(define newlist '((score 'A ) (score 'A1 ) (score 'A2 )))
しかし、( XYZ) list を返すことはできません。それだけ
'((score 23 ) (score 12 ) (score 7 ))
これは、変数の置換値のみです。
リスト内のアイテムに特定のスコアを与える関数を作成しました
(define newlist '((score 'A ) (score 'A1 ) (score 'A2 )))
しかし、( XYZ) list を返すことはできません。それだけ
'((score 23 ) (score 12 ) (score 7 ))
これは、変数の置換値のみです。
When you use quote
(the character '
) what follows in not evaluated. So in what you provided, the entire list of three items is not evaluated. To evaluate use list
as such:
(define newlist (list (score 'A) (score 'A1) (score 'A2)))
As @kmoerman points out, there are other ways, using map
, to get a valid result; however, your original problem was using quote
instead of list
.
(define newlist `(,(score 'A) ,(score 'A1) ,(score 'A2)))