How to update values in list of type <T> in F#?

Viewed 113

I am currently studying F# and at the same time, a bit struggling to get the hang of how discriminated unions and records exactly work.

I'd like to know how I can update some values from a list of type <'T>?

My code

type Position =
| Location of (int * int)

type Ship = 
{
    Position : Position;
    Projectiles : List<Position>; 
}

I create an instance of a ship:

let aShip = 
{
    Position: Location(1,5);
    Projectiles: [Location(1,1);Location(2,5)] 
}

Now, I tried to loop over the projectiles, but I get this:

for elem in aShip.Projectiles do
    printfn "%A" elem

// prints out
Location(1,1)
Location(2,5)

But I only like to get the values (1,1) and (2,5) back, how would I achieve this?

1 Answers
Related