У меня есть ответ на второй вопрос:
для,:
, если my_symbol = 1
`(my_symbol 2 3) = (my_symbol 2 3)
, но с:
`(,my_symbol 2 3) = (1 2 3)
, вычисляет следующий символ в операторе `
Теперь для @ (который является символом, поэтому он должен быть активирован)
`(,@('a 'b 'c) ('d 'e 'f)) = ('a 'b 'c ('d 'e 'f) )
`(,@('a 'b 'c) ,@('d 'e 'f) ) = ('a 'b 'c 'd 'e 'f)
Iнадеюсь, что эти примеры могут помочь.Таким образом, строка 1 просто извлекает аргументы из списка и помещает их в другой.