7
Cách tốt nhất để có được giá trị phi nil đầu tiên của một số khóa có thể có trong bản đồ.Cách thành ngữ để có được một trong các giá trị có thể có trong bản đồ?
Ví dụ:
(get-first-matching {:fum 4 :bar 41 :baz 45} [:foo :bar :baz])
;=> 41
Chính xác những gì tôi đang tìm kiếm! :) – Annan
Thật thú vị khi lưu ý rằng bản đồ đang được sử dụng ở đây dưới dạng hàm vị ngữ được gọi với bộ sưu tập các khóa. Do đó, những gì bạn sẽ nhận được không phải là giá trị phi nil đầu tiên mà là giá trị "trung thực" đầu tiên. Hãy thử '(ví dụ: {: foo nil: bar false: baz 20} [: foo: bar: baz])'. –
Phải, do đó, một phiên bản hoạt động cho các giá trị không phải là nil hoặc false trông giống như '(khi-let [[k v] (một số # (tìm m%) [: foo: bar: baz])] v)'. – amalloy