我有一個布爾值列表,我想檢查列表中的1個元素是否爲true。我的程序工作的方式是每創建一個布爾列表,它將只有一個真值或根本沒有。F#Bool列表檢查列表中是否有1個元素true
任何想法,我可以去這個?
我有一個布爾值列表,我想檢查列表中的1個元素是否爲true。我的程序工作的方式是每創建一個布爾列表,它將只有一個真值或根本沒有。F#Bool列表檢查列表中是否有1個元素true
任何想法,我可以去這個?
您可以使用List.contains
,看看是否有是列表中的真正價值:
let containsTrue = theBoolList |> List.contains true
如果您需要檢查只有一個真正的價值,你可以fold
在列表中算來:
let fn count item = if item then (count + 1) else count
let numberOfTrue = theBoolList |> List.fold fn 0
let onlyOneTrue = numberOfTrue = 1
嗨,對不起,我認爲我的邏輯可能有點不對。你可以添加一些相同的代碼,但如果它發現錯誤,它會返回false。我試圖改變你的代碼,所以它尋找假,但如果它發現它,它會返回true。 –
@JacksonSentzke如果所有的元素都是真的,你想要的東西是真的,如果有的都是假的,你就想要假?可能有意義做一個新的問題與要求,因爲它是非常不同於這個問題...(如果你在這裏發佈鏈接,我會在那裏回覆) –
@JacksonSentzke或者在http://chat.stackoverflow中詢問。 com/rooms/51909/f :)我們可以更輕鬆地討論您的需求。 –
你在問什麼?如何檢查特定位置物品的價值或如何確定物品是否屬實? –
此外,如果支票確保確實只有一個「真實」,並且沒有更多? – Sehnsucht