gpt4 book ai didi

destructuring - Hylang 映射解构

转载 作者:行者123 更新时间:2023-12-04 16:02:36 28 4
gpt4 key购买 nike

hylang 是否像 clojure 中那样支持映射解构?

例如:https://gist.github.com/john2x/e1dca953548bfdfb9844#maps

最佳答案

Hy 没有内置映射解构,但 Python 的可迭代解构在 Hy 中确实有效。

您可以使用列表理解以这种方式在 Python 中解构 map ,但它是有限的,例如,

>>> dict(a=1, b=2, c=3)
{'a': 1, 'b': 2, 'c': 3}
>>> a, b, c = [_[k] for k in ['a', 'b', 'c']]
>>> a
1
>>> b
2
>>> c
3

当字典嵌套在某些东西中时,这会变得很尴尬,但有时这已经足够好了。在 Hy 中为这个习语制作一个宏会相当容易。

我还研究过 hy.contrib.destructure module .它仍然没有被合并(还没有真正完成),但是映射解构部分起作用了。如果您需要处理深度嵌套的数据,您可以尝试使用它。语法类似于 Clojure。宏有文档字符串,单元测试有示例。


更新

世界和平 polished up my old destructuring branch.它于 2021 年 1 月 31 日合并到 master。

请参阅新模块的文档 here .

从 3.10 版开始,Python 还将能够在其 match/case 语句中解构映射。

关于destructuring - Hylang 映射解构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50052680/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com