src
class Version { }
Version objects identify version of software components (and potentially other
entities). Perl 6 uses them internally for versioning modules.
A version consists of several parts, which are visually represented by joining
them with a dot. A version part is usually an integer, a string like alpha ,
or a L<Whatever>-star * . The latter is used to indicate that any version
part is acceptable in another version that is compared to the current one.
say v1.0.1 ~~ v.1.*; # True
Version literals can only contain numeric and L<Whatever> parts. They start
with a lower-case v , and are followed by at least one part. Multiple parts
are separate with a dot . . A trailing + indicates that higher versions
are OK in comparisons:
say v1.2 ~~ v1.0; # False
say v1.2 ~~ v1.0+; # True
In comparisons, early parts take precedence over later parts.
say v1.2 cmp v2.1; # Increase
Methods
new
method new(Str:d $s)
Creates a Version from a string $s . The string is combed
for the numeric, alphabetic, and wildcard components of the version object.
Any characters other than alphanumerics and asterisks are assumed
to be equivalent to a dot. A dot is also assumed between any adjacent
numeric and alphabetic characters.
parts
method parts(Version:D:) returns List:D
Returns the list of parts that make up this Version object
plus
method plus(Version:D:) returns Bool:D
Returns True if comparisons against this version allow larger versions too.