Hylang地图解构

时间:2018-04-26 22:24:31

标签: destructuring hy

hylang是否像clojure一样支持地图解构?

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

1 个答案:

答案 0 :(得分:1)

Hy没有内置映射解构,尽管Python的可迭代解构在Hy中有效。

您可以使用列表推导以这种方式使用Python来构建地图,但它是有限的,例如,

>>> 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

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

我还在hy.contrib.destructure module工作过。它仍然没有合并(没有真正完成),但映射解构部分工作。如果需要使用深层嵌套数据,可以尝试使用它。 synatx类似于Clojure。宏有文档字符串,单元测试有例子。

相关问题