Share via


Seq.filter<'T> 함수(F#)

업데이트: 2010년 8월

지정한 조건자가 true를 반환하는 컬렉션 요소만 포함하는 새 컬렉션을 반환합니다.

네임스페이스/모듈 경로: Microsoft.FSharp.Collections.Seq

어셈블리: FSharp.Core(FSharp.Core.dll)

// Signature:
Seq.filter : ('T -> bool) -> seq<'T> -> seq<'T>

// Usage:
Seq.filter predicate source

매개 변수

  • predicate
    형식: 'T -> bool

    입력 시퀀스의 각 항목을 출력에 포함할지 여부를 테스트하는 함수입니다.

  • source
    형식: seq<'T>

    입력 시퀀스입니다.

예외

예외

Condition

ArgumentNullException

입력 시퀀스가 null인 경우 throw됩니다.

반환 값

결과 시퀀스입니다.

설명

반환된 시퀀스는 스레드 간에 안전하게 전달할 수 있습니다. 그러나 반환된 시퀀스에서 생성된 개별 IEnumerator 값에는 동시에 액세스할 수 없습니다. 시퀀스가 지연 계산되었습니다. 따라서, 열거될 때까지 효과가 지연됩니다.

컴파일된 어셈블리에서 이 함수의 이름은 Filter입니다. F# 이외의 언어에서 함수에 액세스하거나 리플렉션을 통해 함수에 액세스하는 경우 이 이름을 사용합니다.

예제

다음 코드 예제에서는 Seq.filter를 사용하여 짝수만 선택하도록 난수의 부동 시퀀스를 필터링하는 방법을 보여줍니다.

let random = new System.Random()
Seq.initInfinite (fun _ -> random.Next())
|> Seq.filter (fun x -> x % 2 = 0)
|> Seq.take 5
|> Seq.iter (fun elem -> printf "%d " elem)
printfn ""

샘플 출력

  

플랫폼

Windows 7, Windows Vista SP2, Windows XP SP3, Windows XP x64 SP2, Windows Server 2008 R2, Windows Server 2008 SP2, Windows Server 2003 SP2

버전 정보

F# 런타임

지원되는 버전: 2.0, 4.0

Silverlight

지원되는 버전: 3

참고 항목

참조

Collections.Seq 모듈(F#)

Microsoft.FSharp.Collections 네임스페이스(F#)

변경 기록

날짜

변경 내용

이유

2010년 8월

코드 예제를 추가했습니다.

향상된 기능 관련 정보