Camelia

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.

Perl 6 Tricks and Treats newsletter

Register to the free newsletter now, and get updates and news.
Email:
Name: