Kurzusok
/
F#
F#
/
Tanterv
/
Tömbök
Tö

Tömbök ebben a kurzusban: F#

3 feladat

A(z) Tömbök fogalomról

Az F#-ban az array egy rögzített hosszúságú, nulla vagy több értékből álló, módosítható gyűjtemény. Ez azt jelenti, hogy miután létrehoztál egy tömböt, a mérete már nem változhat, az értékei viszont igen. Egy tömbben minden értéknek ugyanolyan típusúnak kell lennie. A tömböket a következőképpen definiálhatod:

let empty = [| |]
let emptyAlternative = Array.empty

let singleValue = [| 5 |]
let singleValueAlternative = Array.singleton 5

let threeValues = [| "a"; "b"; "c" |]

A tömb elemeihez index segítségével rendelhetsz értéket, és ugyanígy kérdezheted is le őket. Az F# tömbjei nullától indexeltek, ami azt jelenti, hogy az első elem indexe mindig nulla:

let numbers = [| 2; 3; 5 |]

// Update value in array
numbers[2] <- 9

// Read value from array
numbers[2]
// => 9

A tömböket az Array modulban definiált függvények és operátorok kezelik. Néhány ezek közül a függvények közül egy array példány tulajdonságaként is elérhető:

Array.length [| 7; 8 |] // => 2
[| 7; 8 |].Length       // => 2

Itt nincs helyes vagy helytelen választás. Általában az Array modul függvényei jobban együttműködnek a típuskövetkeztetéssel, a tulajdonságok viszont tömörebb kódot tesznek lehetővé.

Az array pattern lehetővé teszi a mintaillesztést tömbökön:

let describe array =
    match array with
    | [| |] -> "Empty"
    | [| 1; 2; three |] -> sprintf "1, 2, %d" three
    | _ -> "Other"

describe [| |]         // => "Empty"
describe [| 1; 2; 4 |] // => "1, 2, 4"
describe [| 5; 7; 9 |] // => "Other"

Mintaillesztéskor egy értéket el is dobhatsz; ha egy adott esetben nem törődsz egy értékkel (azaz nem fogod használni), ezt egy alulvonással ('_') jelezheted:

let describe array =
    match array with
    | [| |] -> "Empty array"
    | [| x |] -> "Array with one item"
    | [| _; y |] -> "Array with two items (first item ignored)"
    | _ -> "Array with many items (all items ignored)"

describe [| |]          // => "Empty array"
describe [| 1 |]        // => "Array with one item"
describe [| 5; 7 |]     // => "Array with two items (first item ignored)"
describe [| 5; 7; 9 |]  // => "Array with many items (all items ignored)"

Mintaillesztéskor az egyetlen '_' mindig utolsó legyen: minden értéket, amely nem illeszkedik a többi eset egyikéhez sem, ez az eset kezel.

Szerkesztés GitHubon A hivatkozás új ablakban vagy lapon nyílik meg

Tanuld meg a(z) Tömbök fogalmat

A gyakorlás zárolva

Oldj fel még 2 feladatot, hogy gyakorolhasd a(z) Tömbök fogalmat