Documentation for routine succ
assembled from the following pages:
Class: Date §
From Date
(Date) method succ §
Defined as:
method succ(Date: --> Date)
Returns a Date
of the following day. "succ" is short for "successor".
say Date.new("2016-02-28").succ; # OUTPUT: «2016-02-29»
Class: Numeric §
From Numeric
(Numeric) method succ §
method succ(Numeric:)
Returns the number incremented by one (successor).
Enum: Bool §
From Bool
(Bool) routine succ §
method succ(--> Bool)
Returns True
.
say True.succ; # OUTPUT: «True» say False.succ; # OUTPUT: «True»
succ
is short for "successor"; it returns the next enum value. Bool is a special enum with only two values, False
and True
. When sorted, False
comes first, so True
is its successor. And since True
is the "highest" Bool enum value, its own successor is also True
.
Class: Allomorph §
From Allomorph
(Allomorph) method succ §
method succ(Allomorph:)
Calls Numeric.succ
on the invocant's numeric value.
Class: IO::Path §
From IO::Path
(IO::Path) method succ §
Defined as:
method succ(IO::Path: --> IO::Path)
Returns a new IO::Path constructed from the invocant, with .basename
changed by calling Str.succ
on it.
"foo/file02.txt".IO.succ.say; # OUTPUT: «"foo/file03.txt".IO»
Class: Str §
From Str
(Str) method succ §
method succ(Str: --> Str)
Returns the string incremented by one.
String increment is "magical". It searches for the last alphanumeric sequence that is not preceded by a dot, and increments it.
'12.34'.succ; # OUTPUT: «13.34» 'img001.png'.succ; # OUTPUT: «img002.png»
The actual increment step works by mapping the last alphanumeric character to a character range it belongs to, and choosing the next character in that range, carrying to the previous letter on overflow.
'aa'.succ; # OUTPUT: «ab» 'az'.succ; # OUTPUT: «ba» '109'.succ; # OUTPUT: «110» 'α'.succ; # OUTPUT: «β» 'a9'.succ; # OUTPUT: «b0»
String increment is Unicode-aware, and generally works for scripts where a character can be uniquely classified as belonging to one range of characters.
Role: Enumeration §
From Enumeration
(Enumeration) method succ §
Defined as:
method succ(::?CLASS:)
say Oðin.succ; # OUTPUT: «Freija»