2

ブール値のリストにTrueが含まれているかどうかを確認するには?

例えば

[True,False] = True
[False,False] = False
[False,False,True] = True
4

5 に答える 5

6

関数を探していorます:

> ghci

Prelude> or [True, False]
True
Prelude> or [False, False]
False

リストのすべての要素が である場合andに返す関数もあります。TrueTrue

于 2013-10-07T14:19:10.883 に答える
6

Hoogle の標準関数の存在をいつでも確認できます。

例: http://www.haskell.org/hoogle/?hoogle=%5BBool%5D+-%3E+Bool

いくつかの機能を提供しますorが、そのうちの 1 つがこの要件の機能です。

編集:

or関数です。そのシグネチャor :: [Bool] -> Boolは、 のリストを取り、Boolを返すことを意味しますBool

だから、ただやっている

myList = [True, False, False]

if (or myList) then ..something.. else ..something else.. 

コードでこれを使用する方法になるかもしれません (..something.. と ..something else.. を実際の式に置き換えてください)。

于 2013-10-07T14:21:45.950 に答える
1

リストに値が含まれているかどうかを確認する一般的な方法は、次のように使用することelemです

Prelude> True `elem` [True, False]
True
Prelude> True `elem` [False, False]
False
Prelude> True `elem` [False, False, True]
True
于 2013-10-07T14:24:08.913 に答える
0

HoogleまたはHayooを検索エンジンとして使用してみてください。そして、答えを得るためにプラットフォームライブラリをサーフィンしてください。

返信はプレリュードにあります:

or :: [Bool] -> Bool
于 2013-10-07T14:20:57.237 に答える