سلام درود خدمت همراهان همیشگی سایت پی وی لرن . با آموزش زبان برنامه نویسی #F همراهتون هستیم. زمانی که یک تابع باید بیش از یک مقدار را بازگشت دهد از tupleها استفاده میکنیم. Tuples در #F مجموعه مقادیر هستند که به وسیله کاما از هم جدا شده اند. ولی می توان به اعضای Tuples به صورت فردی نیز دسترسی داشت که با موضوع دسترسی به اعضای Tuple فردی دنبال خواهد شد.
یک Tuples یک مجموعه ای از مقادیر جدا شده با کاما است. این ها برای ایجاد ساختارهای داده ای فاقد عمومیت استفاده می شوند که ارزش های مربوط به آن ها را دسته بندی می کند.
به عنوان مثال، (“زارع علی”، “حیدرآباد”، ۱۰) ۳ قسمت ،با دو مقدار رشته و مقدار int است، آن نوع (string * string * int) است.
Tuples ها می توانند جفت، سه گانه و غیره، از همان نوع ها یا انواع مختلف باشند.
بعضی مثال ها در این جا ارائه شده است .
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | // 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) |
این برنامه دارای یک تابع است که مقدار tuple چهار شناور را دریافت می کند و میانگین را به دست می آورد .
1 2 3 4 5 6 | 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 |
هنگامی که شما برنامه را کامپایل و اجرا می کنید، خروجی زیر را تولید می کند.
1 | Avg of four numbers: 7.275000 |
اعضای فردی یک Tuple می توانند با استفاده از الگوی matching ارزیابی و چاپ شوند.
مثال زیر این مفهوم را نشان می دهد .
مثال
1 2 3 4 5 | let display tuple1 = match tuple1 with | (a, b, c) -> printfn "Detail Info: %A %A %A" a b c display ("Zara Ali", "Hyderabad", 10 ) |
هنگامی که شما برنامه را کامپایل و اجرا می کنید، خروجی زیر را تولید می کند.
1 | Detail Info: "Zara Ali" "Hyderabad" 10 |
#F دارای دو تابع تعبیه شده است، fst و snd ، که اولین و دومین عناصر را در یک ۲-tuple (دوتایی)باز می گرداند.
مثال زیر این مفهوم را نشان می دهد.
1 2 3 4 5 6 7 8 9 10 | 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) |
هنگامی که شما برنامه را کامپایل و اجرا می کنید، خروجی زیر را تولید می کند.
1 2 3 4 5 6 | irst member: 23 Second member: 30 First member: "Hello" Second member: "World!" First Name: "Zara" Second Name: "Ali" |
با Tuples در #F آشنا شدبم و توانستیم به اعضای Tuples به صورت فردی نیز دسترسی پیدا کنیم. با بخش های بعدی از سری آموزش های اف شارپ همراه ما باشید.