Semantic Version Library (Ver)
ver is a base type in Stof — every field below operates on a version like 1.2.3-release+build directly, no library prefix required on the value itself.
Reading Components
Ver.major(ver: ver) -> int
ver-major.stof
#[main]
fn main() {
const ver = 1.2.3-release+build;
pln(ver.major());
}Output
Ver.minor(ver: ver) -> int
ver-minor.stof
#[main]
fn main() {
const ver = 1.2.3-release+build;
pln(ver.minor());
}Output
Ver.patch(ver: ver) -> int
ver-patch.stof
#[main]
fn main() {
const ver = 1.2.3-release+build;
pln(ver.patch());
}Output
Ver.release(ver: ver) -> str
ver-release.stof
#[main]
fn main() {
const ver = 1.2.3-release+build;
pln(ver.release());
}Output
Ver.build(ver: ver) -> str
ver-build.stof
#[main]
fn main() {
const ver = 1.2.3-release+build;
pln(ver.build());
}Output
Setting Components
Every setter below mutates the version in place.
Ver.set_major(ver: ver, val: int) -> void
ver-set-major.stof
#[main]
fn main() {
const ver = 1.2.3-release+build;
ver.set_major(4);
pln(ver);
}Output
Ver.set_minor(ver: ver, val: int) -> void
ver-set-minor.stof
#[main]
fn main() {
const ver = 1.2.3-release+build;
ver.set_minor(4);
pln(ver);
}Output
Ver.set_patch(ver: ver, val: int) -> void
ver-set-patch.stof
#[main]
fn main() {
const ver = 1.2.3-release+build;
ver.set_patch(4);
pln(ver);
}Output
Ver.set_release(ver: ver, val: str) -> void
ver-set-release.stof
#[main]
fn main() {
const ver = 1.2.3-release+build;
ver.set_release("modified");
pln(ver);
}Output
Ver.set_build(ver: ver, val: str) -> void
ver-set-build.stof
#[main]
fn main() {
const ver = 1.2.3-release+build;
ver.set_build("modified");
pln(ver);
}Output
Ver.clear_release(ver: ver) -> void
ver-clear-release.stof
#[main]
fn main() {
const ver = 1.2.3-release+build;
ver.clear_release();
pln(ver);
}Output
Ver.clear_build(ver: ver) -> void
ver-clear-build.stof
#[main]
fn main() {
const ver = 1.2.3-release+build;
ver.clear_build();
pln(ver);
}Output