【发布时间】:2020-05-18 01:59:23
【问题描述】:
最近,我经常嵌套几个返回多个值的函数。然而,与 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))
?
【问题讨论】:
标签: lisp common-lisp let multiple-value