この質問は、「In clojure, how to apply 'and' to a list?」に似ています。、しかし解決策は私の質問には当てはまりません。every?
関数はブール値のみを返します。
or
はマクロであるため、このコードは無効です。
(apply or [nil 10 20]) ; I want to get 10 here, as if 'or was a function.
I を使用not-every?
すると、ブール値のみが取得されますが、セマンティクスを保持したいor
- 「true」要素は式の値である必要があります。これを行うための慣用的な方法は何ですか?
これまでの私の考え:
(first (drop-while not [nil 10 20])) ; = 10