You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Hy中一次性为两个变量赋值?

在Hy中实现元组解包赋值

你可以通过序列解包的方式,在Hy里一次性给多个变量赋值,写法如下:

(defn function [] #("Hello" "World"))

; 直接解包赋值给两个变量
(setv [a b] (function))

(print a) ; 输出 "Hello"
(print b) ; 输出 "World"

原理说明

Hy完全支持类似Python的序列解包逻辑,只需要把要接收值的变量放在方括号[]里,跟在setv后面,右侧是返回序列(比如元组、列表)的表达式即可。你定义的function返回的#("Hello" "World")本质就是Python的元组,所以可以直接被解包。

对比你熟悉的Python写法:

a, b = function()

Hy的(setv [a b] (function))和它是完全等价的,只是遵循Lisp的括号语法规则。

内容的提问来源于stack exchange,提问作者pooooky

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.22 11:09:28