这更像是建议,但不确定该在哪里发布。如果存在更好的论坛,请将我指引到相关的论坛。
基本上,我假定没有人会使用没有主体的`let`。我唯一能想到的理由是为了纯粹的副作用,而`do`等更合适,并且目前`(let [x 1 y 2 z (+ x y)]) => nil`(而不是抛出规范错误,作为这个是否有用的期望行为?但为什么?)
无论如何,如果我的假设是正确的,那么我建议`let`应该返回最后一个分配的值,这样`(let [x 1 y 2 z (+ x y)]) => 3`,即`z`。这在我的眼里是符合人体工程学的,而且直观。这也特别适用于构建较长的绑定形式,这些形式仅以相同的变量为构建块,直到最后一个才是重要的,这时需要一行特殊的缩进只为此。