Skip to main content

parse_schema_lines

Function parse_schema_lines 

pub fn parse_schema_lines<I, S>(lines: I) -> Result<SpaceSchema>
where I: IntoIterator<Item = S>, S: AsRef<str>,
Expand description

Parses a block of name = spec lines into a SpaceSchema.

Blank (whitespace-only) lines and lines whose first non-blank character is # are skipped, so a plain-text configuration file can be fed in directly. Declaration order is preserved and duplicate names are rejected.

use atune_core::space::dsl;

let schema = dsl::parse_schema_lines([
    "# learning rate",
    "lr = loguniform(1e-5, 1e-2)",
    "",
    "epochs = int(1, 16)",
])?;
assert_eq!(schema.len(), 2);

ยงErrors

As parse_named and parse_schema: a malformed line, an empty name, or a duplicate name.