In Str§
See primary documentation in context for routine chomp
multi 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»
In IO::Handle§
See primary documentation in context for method chomp
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.
In Cool§
See primary documentation in context for routine chomp
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»
In IO::CatHandle§
See primary documentation in context for method chomp
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 }
In Allomorph§
See primary documentation in context for method chomp
method chomp(Allomorph:D:)