0
如何在列表解析中實施AND
警衛?用逗號分開看守似乎字:OR
:列表理解和警衛
1> rd(r, {a, b}).
r
2> L = [#r{a = 1, b =2}, #r{a = 1, b = 3}].
[#r{a = 1,b = 2},#r{a = 1, b = 3}]
3> [X || X <- L, X#r.a =/= 1, X#r.b =/= 2].
[]
非常感謝。
如何在列表解析中實施AND
警衛?用逗號分開看守似乎字:OR
:列表理解和警衛
1> rd(r, {a, b}).
r
2> L = [#r{a = 1, b =2}, #r{a = 1, b = 3}].
[#r{a = 1,b = 2},#r{a = 1, b = 3}]
3> [X || X <- L, X#r.a =/= 1, X#r.b =/= 2].
[]
非常感謝。
這絕對是一個AND。第一個元素不能通過兩個測試;第二次失敗X#r.a =/= 1
測試。
如果你想要或者,只需使用orelse
操作:
2> [X || X <- L, X#r.a =/= 1 orelse X#r.b =/= 2].
[#r{a = 1,b = 3}]
哦,上帝。我心何在?謝謝。我試圖做的是包含如果雙方都滿意的要素。 –
@MartinDimitrov:我已經修改了我的答案以涵蓋OR。 –
非常感謝您的幫助。 –