#list #map #scheme #fold #arity
#Список #Карта #схема #сложите #арность
Вопрос:
У меня есть вопрос по поводу Схемы. Я довольно новичок в этом языке, и мой вопрос носит довольно общий характер:
Возможно ли, не определяя рекурсивную функцию, использовать 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:
(map lst1 lst2)
КАРТА может принимать любое количество списков.
Пример:
(map lst1 lst2 lst1) => (4 8 12 16 20)
Комментарии:
1. Боже, я чувствую себя действительно глупо! Спасибо, что нашли время для ответа.