From: Jean Privat Date: Wed, 3 Dec 2014 15:16:13 +0000 (-0500) Subject: lib/string: add `chomp` X-Git-Tag: v0.7~82^2~2 X-Git-Url: http://nitlanguage.org lib/string: add `chomp` Signed-off-by: Jean Privat --- diff --git a/lib/standard/string.nit b/lib/standard/string.nit index e17d2cf..664ecbc 100644 --- a/lib/standard/string.nit +++ b/lib/standard/string.nit @@ -385,6 +385,19 @@ abstract class Text # assert "\na\nb\tc\t".trim == "a\nb\tc" fun trim: SELFTYPE do return (self.l_trim).r_trim + # Returns `self` removed from its last `\n` (if any). + # + # assert "Hello\n".chomp == "Hello" + # assert "Hello".chomp == "Hello" + # assert "\n\n\n".chomp == "\n\n" + # + # This method is mainly used to remove the LINE_FEED character from lines of text. + fun chomp: SELFTYPE + do + if self.chars.last != '\n' then return self + return substring(0, length-1) + end + # Justify a self in a space of `length` # # `left` is the space ratio on the left side.