Return Value 戻り値
true
if the sequence contains an element that satisfies predicate
; otherwise, false
.
このシーケンスがpredicate
;を満たす要素を含むならばtrue
;そうでなければ、false
。
Availability 有効性
Technology
true
if the sequence contains an element that satisfies predicate
; otherwise, false
.
このシーケンスがpredicate
;を満たす要素を含むならばtrue
;そうでなければ、false
。
predicate
A closure that takes an element of the sequence as its argument and returns a Boolean value that indicates whether the passed element represents a match. あるクロージャ、それはこのシーケンスの1つの要素をそれの引数として取り、渡された要素がある合致を表すものであるかどうかを指し示すブール値を返します。
You can use the predicate to check for an element of a type that doesn’t conform to the Equatable
protocol, such as the HTTPResponse
enumeration in this example.
あなたは述部を使って、Equatable
プロトコルに準拠しない型、例えばこの例でのHTTPResponse
列挙などの要素に対して調べることができます。
enum HTTPResponse {
case ok
case error(Int)
}
let lastThreeResponses: [HTTPResponse] = [.ok, .ok, .error(404)]
let hadError = lastThreeResponses.contains { element in
if case .error = element {
return true
} else {
return false
}
}
// 'hadError' == true
Alternatively, a predicate can be satisfied by a range of Equatable
elements or a general condition. This example shows how you can check an array for an expense greater than $100.
あるいは、述部は、Equatable
要素のある範囲またはある一般的条件によって満たされることができます。この例は、どのようにあなたが$100より大きい出費についてある配列を調べることができるかを示します。
let expenses = [21.37, 55.21, 9.32, 10.18, 388.77, 11.41]
let hasBigPurchase = expenses.contains { $0 > 100 }
// 'hasBigPurchase' == true
Complexity
O(n), where n is the length of the sequence.