如何从一系列计算值(scheme)创建列表

如何从一系列计算值(scheme)创建列表,scheme,Scheme,我创建了一个函数,它为列表中的项目提供一定的分数 (定义新列表 ((A分) (A1分) (得分'A2')) 但无法让它返回(X Y Z)列表。 只有 ”((分数23) (分数12) (得分7分) 这只是我变量的替换值 当您使用引号(字符”)时,将不计算中的下列内容。因此,在您提供的内容中,没有对三个项目的整个列表进行评估。要进行评估,请使用列表: (define newlist (list (score 'A) (score 'A1) (score 'A2))) 正如@kmoerman所

我创建了一个函数,它为列表中的项目提供一定的分数

(定义新列表
((A分)
(A1分)
(得分'A2'))

但无法让它返回(X Y Z)列表。 只有

”((分数23)
(分数12)
(得分7分)
这只是我变量的替换值


当您使用
引号
(字符”)时,将不计算中的下列内容。因此,在您提供的内容中,没有对三个项目的整个列表进行评估。要进行评估,请使用
列表

  (define newlist (list (score 'A) (score 'A1) (score 'A2)))

正如@kmoerman所指出的,还有其他方法,使用
map
,来获得有效的结果;但是,您最初的问题是使用
quote
而不是
list

您可以使用
map
功能:

;如果将A、A1和A2用作符号:
(定义新列表(地图分数(A1 A2)))
;这相当于:
(定义新列表(地图分数(列表'A'A1'A2)))
;但是,如果A、A1和A2是希望使用其值的变量:
(定义新列表(地图分数(列表A A1 A2)))
(定义新列表“(,(分数'A),(分数'A1),(分数'A2)))