f-sharp
  1. f-sharp-accessing-tuples

F# Accessing Tuples

F# Tuples are used to group together related values. Tuple is an ordered list of elements of different types. In F#, tuples can be used to return multiple values from a function, to define composite keys in a dictionary or to pass multiple inputs to a function.

Syntax

A tuple in F# is created using the following syntax:

let myTuple = (value1, value2, value3, ...)

Here, value1, value2, value3... are the values contained in the tuple.

Example

let myTuple = (1, "hello", true)
printfn "%A" myTuple     // (1, "hello", true)
let myTuple2 = (2, "world", false)
let (a, b, c) = myTuple2   // Accessing tuple elements using deconstructing
printfn "%d, %s, %b" a b c // 2, "world", false

Output

(1, "hello", true)
2, "world", false

Explanation

In the above example, we have created two tuples. "myTuple" contains three elements (integer, string and boolean) whereas "myTuple2" contains three elements with the same data types as "myTuple". The "printfn" statement prints each of the tuples. We have also used deconstruction to access the individual elements of "myTuple2".

Use

Tuples can be used in F# for various purposes like:

  • Returning multiple values from a function
  • Storing and accessing composite data structures
  • Passing and unpacking multiple arguments to a function
  • As keys in a dictionary

Important Points

  • F# does not support named tuples, which are tuples with named elements.
  • In F#, tuples are immutable once they are created.
  • F# tuples are value types

Summary

F# tuples provide a powerful way of creating data structures that encapsulate multiple values. With tuples, you can easily group together related values and manipulate them as a unit. You can also easily unpack the values of a tuple into individual variables using deconstruction.

Published on: