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:)
Calls Str.chomp
on the invocant's Str
value.
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 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.