F # - ทูเปิล
ก tupleคือชุดค่าที่คั่นด้วยจุลภาค สิ่งเหล่านี้ใช้สำหรับการสร้างโครงสร้างข้อมูลเฉพาะกิจซึ่งจัดกลุ่มค่าที่เกี่ยวข้องเข้าด้วยกัน
ตัวอย่างเช่น (“ Zara Ali”,“ Hyderabad”, 10) คือ 3-tuple ที่มีค่าสตริงสองค่าและค่า int มีประเภท (string * string * int)
Tuples อาจเป็นคู่สามเท่าและอื่น ๆ ประเภทเดียวกันหรือต่างกัน
ตัวอย่างบางส่วนมีให้ที่นี่ -
// 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)
ตัวอย่าง
โปรแกรมนี้มีฟังก์ชันที่รับค่าทศนิยมสี่ค่าและส่งกลับค่าเฉลี่ย -
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, ซึ่งส่งคืนรายการแรกและรายการที่สองในทูเพิล
ตัวอย่างต่อไปนี้แสดงแนวคิด -
ตัวอย่าง
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"