آموزش #F قسمت ۴

https://virgool.io/fsharp/%D8%A2%D9%85%D9%88%D8%B2%D8%B4-f-%D9%82%D8%B3%D9%85%D8%AA-%DB%B3-m1gdg0lxktoc

در این قسمت میخوایم درباره Tuple(تاپل) بگیم.

تاپل ها در واقع شبیه لیست ها هستند. در لیست ها هم میشه چند نوع داده مثلا همزمان هم رشته هم عدد رو ذخیره کرد( البته تو توضیحات رسمی نوشتن لیست فقط باید شامل یک نوع عدد باشه ولی کامپایلر ایراد نمیگره و در واقع میاد یک دونه تاپل رو میزاره توی لیست و رد میشه از خطا) ولی این کار رو با تاپل ها انجام میدیم. ولی به صورت کلی شما اینجور یاد بگیرید که در لیست فقط یک نوع داده مثلا عدد یا فقط رشته یا فقط کاراکتر ذخیره کرد ولی توی تاپل میشه چند نوع داده رو همزمان داشت.

// Learn more about F# at http://fsharp.org
open System
[<EntryPoint>]
let main argv =
    let data = ("cat", 100, 4)
    printfn "%A" data
    let (animal, weight, feet) = data
    printfn "%A" animal
    printfn "%A" weight
    printfn "%A" feet
    Console.ReadKey() |> ignore

توضیحات کد بالا(عددها شماره خط کد می باشند)

۵. تاپل ها رو با پرانتز می نویسیم هر چند نیازی به نوشتن پرانتز هم نیست و اگر شما پرانتز هم نگذارید مشکلی پیش نمیاد. در اینجا یک تاپل به نام data‌ ایجاد کردیم که سه تا متغیر شامل یک رشته و دوتا عدد رو نگه میداره.

۶. توی این خط تاپل ایجاد شده رو چاپ کردیم و رو خروجی شما باید دقیقا (cat", 100, 4") ببینید.

۷. در اینجا تاپل از قبل ایجاد شده رو میریزیم توی تاپل جدید یعنی animal="cat" wight=100 feet =4 قرار میدیم.

۸-۱۰. در این خط ها هم هر کدوم رو جداگونه چاپ می کنیم.

نکته ای که میمونه تاپل ها به ترتیب ذخیره میشن پس ما میتونیم اونا رو به ترتیب فراخونی کنیم.

let c = fst (1, 2) //c=1
let d = snd (1, 2) //c=2

توضیح:

  1. خط اول میاد اولین(fst) مقدار تاپل رو توی c میریزه ( fst مخفف first به معنای نخستین)
  2. دومین مقدار(snd) تاپل رو توی d میریزه ( snd مخفف second به معنای دومین)
https://virgool.io/fsharp/%D8%A2%D9%85%D9%88%D8%B2%D8%B4-f-%D9%82%D8%B3%D9%85%D8%AA-%DB%B5-ilgtidvcayja