Я совершенно новый в lisp, так что, возможно, это глупый вопрос. Но я хотел бы объединить два списка (s1, s2) в соответствии с заданным шаблоном - списком S3 логического (t nil ....). Если true, используйте элемент из S2, если false использует элемент как есть. Таким образом, окончательный вид должен выглядеть так: s1 (1 2 3 2 2 4) и s2 (8 9 5 6 8 9) и S3 (nil t nil tt noil) => (1 8 3 9 5 4)Lisp слияние шаблон
Большое спасибо! R.
Пожалуйста, добавьте некоторые комментарии о своем решении о том, почему и как это решает проблему –
@Odedra: Я думаю, что это прекрасный пример код настолько ясен, он не нуждается в комментариях. Я имею в виду, что сказать: «mapcar» отображает функцию, просматривающую некоторые списки, и возвращает результаты как список'? Всем это известно. И отображаемая функция тривиально понятна. – tfb
Обратите внимание, что ваша функция не решает проблему OP. '(select-lists '(1 2 3 2 2 4)' (8 9 5 6 8 9) '(nil t nil tt nil))' возвращает '(1 9 3 6 8 4)', а не '(1 8 3 9 5 4) '. – Renzo