람다 식: 흥미로운 키워드 (F#)Lambda Expressions: The fun Keyword (F#)

fun 키워드는 람다 식, 즉 익명 함수를 정의 하는 데 사용 됩니다.The fun keyword is used to define a lambda expression, that is, an anonymous function.

구문Syntax

fun parameter-list -> expression

설명Remarks

매개 변수 목록은 일반적으로 이름 및 매개 변수의 형식으로 구성 됩니다.The parameter-list typically consists of names and, optionally, types of parameters. 일반적으로 매개 변수 목록은 모든 F# 패턴으로 구성 될 수 있습니다.More generally, the parameter-list can be composed of any F# patterns. 가능한 패턴의 전체 목록은 패턴 일치를 참조 하세요.For a full list of possible patterns, see Pattern Matching. 유효한 매개 변수 목록에는 다음 예제가 포함 됩니다.Lists of valid parameters include the following examples.

// Lambda expressions with parameter lists.
fun a b c -> ...
fun (a: int) b c -> ...
fun (a : int) (b : string) (c:float) -> ...

// A lambda expression with a tuple pattern.
fun (a, b) -> …

// A lambda expression with a list pattern.
fun head :: tail -> …

식은 함수의 본문 이며,의 마지막 식은 반환 값을 생성 합니다.The expression is the body of the function, the last expression of which generates a return value. 유효한 람다 식의 예는 다음과 같습니다.Examples of valid lambda expressions include the following:

fun x -> x + 1
fun a b c -> printfn "%A %A %A" a b c
fun (a: int) (b: int) (c: int) -> a + b * c
fun x y -> let swap (a, b) = (b, a) in swap (x, y)

람다 식 사용Using Lambda Expressions

람다 식은 목록 또는 다른 컬렉션에 대 한 작업을 수행 하 고 함수를 정의 하는 추가 작업을 방지 하려는 경우에 특히 유용 합니다.Lambda expressions are especially useful when you want to perform operations on a list or other collection and want to avoid the extra work of defining a function. 많은 F# 라이브러리 함수는 함수 값을 인수로 사용 하 고, 이러한 경우에는 람다 식을 사용 하는 것이 특히 편리할 수 있습니다.Many F# library functions take function values as arguments, and it can be especially convenient to use a lambda expression in those cases. 다음 코드는 목록 요소에 람다 식을 적용 합니다.The following code applies a lambda expression to elements of a list. 이 경우 익명 함수는 목록의 모든 요소에 1을 추가 합니다.In this case, the anonymous function adds 1 to every element of a list.

let list = List.map (fun i -> i + 1) [1;2;3]
printfn "%A" list

참고자료See also