routine chomp
Documentation for routine chomp
assembled from the following types:
class IO::CatHandle
From IO::CatHandle
(IO::CatHandle) method chomp
Defined as:
method chomp(IO::CatHandle:D:) is rw
Sets the invocant's $.chomp
attribute to the assigned value. All source handles, including the active one will use the provided $.chomp
value.
(my $f1 = 'foo'.IO).spurt: "A\nB\nC\n"; (my $f2 = 'bar'.IO).spurt: "D\nE\n"; with IO::CatHandle.new: $f1, $f2 { # .chomp is True by default: (.get xx 2).raku.say; # OUTPUT: «("A", "B").Seq» .chomp = False; (.get xx 3).raku.say; # OUTPUT: «("C\n", "D\n", "E\n").Seq» .close }
class IO::Handle
From IO::Handle
(IO::Handle) method chomp
Defined as:
has $.chomp is rw = True
One of the attributes that can be set via .new
or open. Defaults to True
. Takes a Bool specifying whether the line separators (as defined by .nl-in
) should be removed from content when using .get
or .lines
methods.
class Str
From Str
(Str) routine chomp
Defined as:
multi sub chomp(Str:D --> Str:D) multi method chomp(Str:D: --> Str:D)
Returns the string with a logical newline (any codepoint that has the NEWLINE
property) removed from the end.
Examples:
say chomp("abc\n"); # OUTPUT: «abc» say "def\r\n".chomp; # OUTPUT: «def» NOTE: \r\n is a single grapheme! say "foo\r".chomp; # OUTPUT: «foo»
class Cool
From Cool
(Cool) routine chomp
Defined as:
sub chomp(Str(Cool)) method chomp()
Coerces the invocant (or in sub form, its argument) to Str, and returns it with the last character removed, if it is a logical newline.
say 'ab'.chomp.chars; # OUTPUT: «2» say "a\n".chomp.chars; # OUTPUT: «1»