Elm:
Jobbe med TOML

Hvordan:

Elm har ikke en innebygd TOML-parser, men du kan samarbeide med JavaScript eller bruke en fellesskapspakke. Her er hvordan du kan parse TOML ved å bruke en hypotetisk elm-toml-pakke:

import Toml

configToml : String
configToml =
    """
    [server]
    port = 8080
    """

parseResult : Result Toml.Decode.Error Toml.Value
parseResult =
    Toml.decodeString configToml

For dekoding av spesifikke verdier:

portDecoder : Toml.Decode.Decoder Int
portDecoder =
    Toml.Decode.field "server" (Toml.Decode.field "port" Toml.Decode.int)

port : Result String Int
port =
    Toml.decodeString portDecoder configToml

Eksempel på utdata for port kan være Ok 8080 hvis dekodingen lykkes.

Dypdykk

TOML ble skapt av Tom Preston-Werner, medgrunnlegger av GitHub, som et enkelt språk for konfigurasjonsfiler. Det konkurrerer med YAML og JSON; TOMLs syntaks sikter på det beste fra begge verdener med fokus på å være lett for mennesker å lese og skrive.

I Elm, for å håndtere TOML, trenger du typisk å gå gjennom JavaScript-samarbeid, noe som kan være litt av en utfordring. Heldigvis er Elm-fellesskapet ressurssterkt, og det finnes flere tredjepartspakker. Den hypotetiske elm-toml-pakken ville sannsynligvis bruke Elms Port for å kommunisere med en JavaScript TOML-parser eller implementere parsingen direkte i Elm.

Den største utfordringen i Elm er at alt statisk types, så du må skrive egendefinerte dekodere for å håndtere forskjellige datastrukturer innen TOML, noe som kan være litt langtekkelig, men legger til sikkerhet.

Se Også

For spesifikasjoner og mer info om TOML selv, sjekk ut TOML. Hvis du leter etter en praktisk tilnærming til Elm og JavaScript-samarbeid, start med den offisielle veiledningen: Elm Ports. For fellesskapspakker eller for å bidra, bla gjennom Elm Packages.