![](/img/trans.png)
[英]Hy equivalent to * operator in Python's function arguments that forces keyword arguments
[英]What is the equivalent of `if x in y` in hy?
我似乎無法在 hy 中找到一個內置的(或等效的)讓我在不處理異常的情況下檢查某些東西
我想寫這樣的東西:
(setv foo {:a 1 :b 2})
(if (in foo :c)
(foo)
(boo))
(:c foo)
和(get foo:c)
都導致異常
Hy具有與所有Python運算符相同的功能。 Hy對所有運算符都使用前綴表示法,但不會更改操作數在后綴表示法中的順序。 所以(- 10 8)
在HY為2
,相同10 - 8
在Python。
這同樣適用於in
運算符。 (in :c foo)
就像(in :c foo)
HyKeyword('c') in foo
。 可以將其視為in(:c, foo)
,而不是“ In foo,:c?”。
而不是 (get foo:c) 使用 (.get foo:c) 並比較 None 如果 c 關鍵字不存在。
(setv foo {:a 1 :b 2})
(if (!= (.get foo :c) None)
(foo)
(boo))
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.