TOML for MoonBit, 1.0.0 and earlier.
moon add moonbitstack/moontoml///|
fn main raise {
let src =
#|title = "field notes"
#|beds = 4
#|
#|[soil]
#|kind = "loam"
#|ph = 6.5
let doc = @moontoml.loads(src[:])
println(@moontoml.dumps(doc))
}title = "field notes"
beds = 4
[soil]
kind = "loam"
ph = 6.5///|
fn main raise {
let src =
#|title = "field notes"
#|beds = 4
let doc = @moontoml.loads(src[:])
guard doc is Object(root) else { abort("a document is a table") }
let title = match root.get("title") {
Some(String(s)) => s
_ => "?"
}
let beds = match root.get("beds") {
Some(Number(n, ..)) => n.to_int()
_ => 0
}
println("\{title}, \{beds} beds")
}field notes, 4 bedslet doc = @moontoml.loads("b = 1\na = 2\n"[:])
println(@moontoml.dumps(doc)) // b = 1
// a = 2
println(@moontoml.dumps(doc, sort=true)) // a = 2
// b = 1| Example | What it shows |
|---|---|
| src/examples/basic | the four steps: load, read, edit, dump |
| src/examples/integration | a site config read into a struct, changed, written back sorted, and a refusal reported by line |
moon run src/examples/basic
moon run src/examples/integrationlet depth : IntInstall
Download zipTOML for MoonBit, 1.0.0 and earlier.