元組是一個(gè)逗號(hào)分隔的值集合。 這些用于創(chuàng)建特殊數(shù)據(jù)結(jié)構(gòu),將相關(guān)值組合在一起。
例如,(“Zara Ali”,“Hyderabad”,10)是具有兩個(gè)字符串值和一個(gè)int值的三元組,它具有類型(string * string * int)。
元組可以是相同或不同類型的對(duì),三元組等。
這里提供一些實(shí)例
// 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)
這個(gè)程序有一個(gè)函數(shù),它接受四個(gè)浮點(diǎn)值的元組,并返回平均值
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
當(dāng)你編譯和執(zhí)行程序,它產(chǎn)生以下輸出
Avg of four numbers: 7.275000
可以使用模式匹配來評(píng)估和打印元組的各個(gè)成員。
下面的例子說明了這一概念
let display tuple1 = match tuple1 with | (a, b, c) -> printfn "Detail Info: %A %A %A" a b c display ("Zara Ali", "Hyderabad", 10 )
當(dāng)你編譯和執(zhí)行程序,它產(chǎn)生以下輸出
Detail Info: "Zara Ali" "Hyderabad" 10
F#有兩個(gè)內(nèi)置函數(shù)fstandsnd,它返回2元組中的第一和第二項(xiàng)。
下面的例子說明了這一概念
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)
當(dāng)你編譯和執(zhí)行程序,它產(chǎn)生以下輸出
First member: 23 Second member: 30 First member: "Hello" Second member: "World!" First Name: "Zara" Second Name: "Ali"
更多建議: