В последнее время я часто вкладываю несколько функций, которые возвращают несколько значений. Однако, в отличие от let
, который позволяет мне элегантно записать эти вызовы в одно большое утверждение, я всегда получаю много отступов.
Мой вопрос : наличие нескольких многократных Значимые функции, такие как
(defun return-1-and-2 ()
(values 1 2))
(defun return-3-and-4 ()
(values 3 4))
, можно ли достичь того же, что и
(multiple-value-bind (one two)
(return-1-and-2)
(multiple-value-bind (three four)
(return-3-and-4)
(list one two three four)))
, но записать это более кратко let
, т. е. что-то вроде
(multiple-let (((one two) (return-1-and-2))
((three four) (return-3-and-4)))
(list one two three four))
?