Как можно использовать функцию Схемы для передачи двух списков в одну функцию? - PullRequest
1 голос
/ 02 ноября 2011

У меня вопрос по схеме.Я довольно плохо знаком с языком, и мой вопрос довольно общий:

Возможно ли, не определяя рекурсивную функцию, использовать Map (или что-то подобное) для подачи двух списков параметров в функцию,создание одного нового списка из выходных данных?

Например, предположим, что у меня было:

(define lst1 (list 1 2 3 4 5))
(define lst2 (list 2 4 6 8 10))

И я хотел затем как-то отобразить функцию +, предоставляя каждый список в качестве параметра таким образом, чтобывыводом будет новый список, lst3:

>lst3
(3 6 9 12 15)

Чтобы сформулировать вопрос несколько более кратко: как можно наиболее эффективно отобразить двоичную функцию, когда оба параметра являются списками?

Спасибо за любую помощь!

1 Ответ

6 голосов
/ 02 ноября 2011
(map + lst1 lst2)

MAP может принимать любое количество списков.

Пример:

(map + lst1 lst2 lst1) => (4 8 12 16 20)
...