const class std::Version

sys::Obj
  std::Version

@Serializable { simple=true }

Version is defined as a list of decimal digits separated by the dot. Convention for Fantom pods is a four part version format of major.minor.build.patch.

build

Int? build()

Get the third segment which represents the build number. Return null if version has less than three segments.

compare

virtual override Int compare(Obj obj)

Compare from from most significant segment to least significant segment.

Examples:

1.6 > 1.4
2.0 > 1.9
1.2.3 > 1.2
1.11 > 1.9.3
defVal

const static Version defVal := Version.fromStr("0")

Default value is "0".

equals

virtual override Bool equals(Obj? obj)

Return true if equal segments.

fromStr

static new fromStr(Str version, Bool checked := true)

Parse a string representation into a Version. If invalid format and checked is false return null, otherwise throw ParseErr.

hash

virtual override Int hash()

Return toStr.hash

major

Int major()

Get the first, most significant segment which represents the major version.

make

new make(List<Int> segments)

Construct with list of integer segments. Throw ArgErr if segments is empty or contains negative numbers.

minor

Int? minor()

Get the second segment which represents the minor version. Return null if version has less than two segments.

patch

Int? patch()

Get the fourth segment which represents the patch number. Return null if version has less than four segments.

segments

const List<Int> segments

Get a readonly list of the integer segments.

toStr

virtual override Str toStr()

The string format is equivalent to segments.join(".")