fork download
  1. (defun replace-a-in-specific-list (lst)
  2. (list
  3. ;; 1. Обробка (A B) -> (C B)
  4. (list 'C (second (first lst)))
  5.  
  6. ;; 2. Обробка другої частини
  7. (let ((part2 (second lst)))
  8. (list
  9. (first part2) ; (C D)
  10. ;; (A B C D) -> (C B C D)
  11. (let ((sublist2 (second part2)))
  12. (list 'C (second sublist2) (third sublist2) (fourth sublist2)))
  13. ;; Глибоке вкладення ((A (B (C (D E))))))
  14. (let* ((nested (third part2))
  15. (inner-a-block (first nested))) ; (A (B (C (D E))))
  16. (list
  17. (list 'C (second inner-a-block)) ; Замінюємо A на C
  18. )
  19. )
  20. )
  21. )
  22. )
  23. )
  24.  
  25. ;; Перевірка
  26. (format t "~%Original: ((A B) ((C D) (A B C D) ((A (B (C (D E)))))))")
  27. (format t "~%Result: ~A~%"
  28. (replace-a-in-specific-list '((A B) ((C D) (A B C D) ((A (B (C (D E)))))))))
Success #stdin #stdout #stderr 0.01s 9544KB
stdin
Standard input is empty
stdout
Original: ((A B) ((C D) (A B C D) ((A (B (C (D E)))))))
Result:   ((C B) ((C D) (C B C D) ((C (B (C (D E)))))))
stderr
Warning: reserving address range 0x80000c0000...0x1fffffffffff that contains memory mappings. clisp might crash later!
Memory dump:
  0x8000000000 - 0x80000bffff
  0x1461bdc00000 - 0x1461bdee4fff
  0x1461be000000 - 0x1461be002fff
  0x1461be003000 - 0x1461be201fff
  0x1461be202000 - 0x1461be202fff
  0x1461be203000 - 0x1461be203fff
  0x1461be215000 - 0x1461be239fff
  0x1461be23a000 - 0x1461be3acfff
  0x1461be3ad000 - 0x1461be3f5fff
  0x1461be3f6000 - 0x1461be3f8fff
  0x1461be3f9000 - 0x1461be3fbfff
  0x1461be3fc000 - 0x1461be3fffff
  0x1461be400000 - 0x1461be403fff
  0x1461be404000 - 0x1461be603fff
  0x1461be604000 - 0x1461be604fff
  0x1461be605000 - 0x1461be605fff
  0x1461be659000 - 0x1461be65afff
  0x1461be65b000 - 0x1461be66afff
  0x1461be66b000 - 0x1461be69efff
  0x1461be69f000 - 0x1461be7d5fff
  0x1461be7d6000 - 0x1461be7d6fff
  0x1461be7d7000 - 0x1461be7d9fff
  0x1461be7da000 - 0x1461be7dafff
  0x1461be7db000 - 0x1461be7dcfff
  0x1461be7dd000 - 0x1461be7ddfff
  0x1461be7de000 - 0x1461be7dffff
  0x1461be7e0000 - 0x1461be7e0fff
  0x1461be7e1000 - 0x1461be7e1fff
  0x1461be7e2000 - 0x1461be7e2fff
  0x1461be7e3000 - 0x1461be7f0fff
  0x1461be7f1000 - 0x1461be7fefff
  0x1461be7ff000 - 0x1461be80bfff
  0x1461be80c000 - 0x1461be80ffff
  0x1461be810000 - 0x1461be810fff
  0x1461be811000 - 0x1461be811fff
  0x1461be812000 - 0x1461be817fff
  0x1461be818000 - 0x1461be819fff
  0x1461be81a000 - 0x1461be81afff
  0x1461be81b000 - 0x1461be81bfff
  0x1461be81c000 - 0x1461be81cfff
  0x1461be81d000 - 0x1461be84afff
  0x1461be84b000 - 0x1461be859fff
  0x1461be85a000 - 0x1461be8fffff
  0x1461be900000 - 0x1461be996fff
  0x1461be997000 - 0x1461be997fff
  0x1461be998000 - 0x1461be998fff
  0x1461be999000 - 0x1461be9acfff
  0x1461be9ad000 - 0x1461be9d4fff
  0x1461be9d5000 - 0x1461be9defff
  0x1461be9df000 - 0x1461be9e0fff
  0x1461be9e1000 - 0x1461be9e6fff
  0x1461be9e7000 - 0x1461be9e9fff
  0x1461be9ec000 - 0x1461be9ecfff
  0x1461be9ed000 - 0x1461be9edfff
  0x1461be9ee000 - 0x1461be9eefff
  0x1461be9ef000 - 0x1461be9effff
  0x1461be9f0000 - 0x1461be9f0fff
  0x1461be9f1000 - 0x1461be9f7fff
  0x1461be9f8000 - 0x1461be9fafff
  0x1461be9fb000 - 0x1461be9fbfff
  0x1461be9fc000 - 0x1461bea1cfff
  0x1461bea1d000 - 0x1461bea24fff
  0x1461bea25000 - 0x1461bea25fff
  0x1461bea26000 - 0x1461bea26fff
  0x1461bea27000 - 0x1461bea27fff
  0x55f4126bc000 - 0x55f4127acfff
  0x55f4127ad000 - 0x55f4128b6fff
  0x55f4128b7000 - 0x55f412916fff
  0x55f412918000 - 0x55f412946fff
  0x55f412947000 - 0x55f412977fff
  0x55f412978000 - 0x55f41297bfff
  0x55f4134a9000 - 0x55f4134c9fff
  0x7ffc7ca8f000 - 0x7ffc7caaffff
  0x7ffc7cb61000 - 0x7ffc7cb64fff
  0x7ffc7cb65000 - 0x7ffc7cb66fff