(替换A Z列表)

时间:2010-11-04 20:25:47

标签: scheme

我听说最好的方法是使用地图功能,有人可以解释我应该如何使用它?我读了我的书所说的内容,但我并不真正理解如何实现它。

我基本上想要用Z替换列表中每个A的东西。

2 个答案:

答案 0 :(得分:2)

Map采用函数和列表,并返回应用于列表中每个成员的函数列表。 (map f'(1 2 3))将返回(f(1)f(2)f(3))。您已经知道要在输入的列表上使用地图。您需要弄清楚的是如何使函数f确定当前值是否等于A,如果是,则返回Z.如果您仍然没有得到它,请告诉我。

答案 1 :(得分:1)

因此,(map proc ls)proc中的每个元素都运行ls。要使用map替换项目:

(map
  (lambda (x) 
    (if (equal? x 'whatever) 
        'replacement 
        x))
  '(whatever whatever something else))

'whatever替换为'replacement。我认为你可以将上述内容改编成你的作业。