From 8b92ab5c7bfbc52934fe23075a86163f2b9fc7c3 Mon Sep 17 00:00:00 2001 From: "Yukihiro \"Matz\" Matsumoto" Date: Thu, 19 Apr 2018 17:26:01 +0900 Subject: CRuby2.6 stops deprecating `String#lines` with a block. `String#lines` (with a block) is now implemented in Ruby. --- mrbgems/mruby-string-ext/mrblib/string.rb | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) (limited to 'mrbgems/mruby-string-ext/mrblib/string.rb') diff --git a/mrbgems/mruby-string-ext/mrblib/string.rb b/mrbgems/mruby-string-ext/mrblib/string.rb index 0da84daed..39ee57419 100644 --- a/mrbgems/mruby-string-ext/mrblib/string.rb +++ b/mrbgems/mruby-string-ext/mrblib/string.rb @@ -365,4 +365,25 @@ class String self[0, 0] = arg self end + + ## + # call-seq: + # string.lines -> array of string + # string.lines {|s| block} -> array of string + # + # Returns strings per line; + # + # a = "abc\ndef" + # a.lines #=> ["abc\n", "def"] + # + # If a block is given, it works the same as each_line. + def lines(&blk) + lines = self.__lines + if blk + lines.each do |line| + blk.call(line) + end + end + lines + end end -- cgit v1.2.3