F #-튜플
ㅏ tuple쉼표로 구분 된 값 모음입니다. 관련 값을 함께 그룹화하는 임시 데이터 구조를 만드는 데 사용됩니다.
예를 들어, ( "Zara Ali", "Hyderabad", 10)은 두 개의 문자열 값과 하나의 int 값이있는 3- 튜플이며 유형은 (string * string * int)입니다.
튜플은 동일하거나 다른 유형의 쌍, 트리플 등이 될 수 있습니다.
여기에 몇 가지 예가 제공됩니다.
// Tuple of two integers.
( 4, 5 )
// Triple of strings.
( "one", "two", "three" )
// Tuple of unknown types.
( a, b )
// Tuple that has mixed types.
( "Absolute Classes", 1, 2.0 )
// Tuple of integer expressions.
( a * 4, b + 7)
예
이 프로그램은 4 개의 float 값의 튜플을 받아서 평균을 반환하는 함수를 가지고 있습니다.
let averageFour (a, b, c, d) =
let sum = a + b + c + d
sum / 4.0
let avg:float = averageFour (4.0, 5.1, 8.0, 12.0)
printfn "Avg of four numbers: %f" avg
프로그램을 컴파일하고 실행하면 다음과 같은 출력이 생성됩니다.
Avg of four numbers: 7.275000
개별 튜플 멤버에 액세스
튜플의 개별 구성원은 패턴 일치를 사용하여 평가되고 인쇄 될 수 있습니다.
다음 예제는 개념을 보여줍니다-
예
let display tuple1 =
match tuple1 with
| (a, b, c) -> printfn "Detail Info: %A %A %A" a b c
display ("Zara Ali", "Hyderabad", 10 )
프로그램을 컴파일하고 실행하면 다음과 같은 출력이 생성됩니다.
Detail Info: "Zara Ali" "Hyderabad" 10
F #에는 두 가지 기본 제공 함수가 있습니다. fst 과 snd, 2- 튜플의 첫 번째 항목과 두 번째 항목을 반환합니다.
다음 예제는 개념을 보여줍니다-
예
printfn "First member: %A" (fst(23, 30))
printfn "Second member: %A" (snd(23, 30))
printfn "First member: %A" (fst("Hello", "World!"))
printfn "Second member: %A" (snd("Hello", "World!"))
let nameTuple = ("Zara", "Ali")
printfn "First Name: %A" (fst nameTuple)
printfn "Second Name: %A" (snd nameTuple)
프로그램을 컴파일하고 실행하면 다음과 같은 출력이 생성됩니다.
First member: 23
Second member: 30
First member: "Hello"
Second member: "World!"
First Name: "Zara"
Second Name: "Ali"