我似乎无法在hy中找到内建的(或等效的)内建函数,使我无需处理异常即可检查某些东西
我想写些类似的东西:
(setv foo {:a 1 :b 2})
(if (in foo :c)
(foo)
(boo))
(:c foo)
和(get foo :c)
都导致异常
答案 0 :(得分:1)
Hy具有所有Python运算符的等效项。 Hy对所有运算符都使用前缀表示法,但不会更改操作数在后缀表示法中的顺序。因此,Hy中的(- 10 8)
是2
,与Python中的10 - 8
一样。
in
运算符也是如此。 (in :c foo)
就像HyKeyword('c') in foo
。可以将其视为in(:c, foo)
,而不是“在foo中,:c?”。