summaryrefslogtreecommitdiffhomepage
path: root/mrbgems/mruby-string-ext/mrblib/string.rb
diff options
context:
space:
mode:
authorYukihiro "Matz" Matsumoto <[email protected]>2018-04-19 17:26:01 +0900
committerYukihiro "Matz" Matsumoto <[email protected]>2018-04-19 17:33:00 +0900
commit8b92ab5c7bfbc52934fe23075a86163f2b9fc7c3 (patch)
treed320a3a619155000703c321af9300715146dad84 /mrbgems/mruby-string-ext/mrblib/string.rb
parentc79e81ebc32274be7442b46541872ed343c6f752 (diff)
downloadmruby-8b92ab5c7bfbc52934fe23075a86163f2b9fc7c3.tar.gz
mruby-8b92ab5c7bfbc52934fe23075a86163f2b9fc7c3.zip
CRuby2.6 stops deprecating `String#lines` with a block.
`String#lines` (with a block) is now implemented in Ruby.
Diffstat (limited to 'mrbgems/mruby-string-ext/mrblib/string.rb')
-rw-r--r--mrbgems/mruby-string-ext/mrblib/string.rb21
1 files changed, 21 insertions, 0 deletions
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 <code>each_line</code>.
+ def lines(&blk)
+ lines = self.__lines
+ if blk
+ lines.each do |line|
+ blk.call(line)
+ end
+ end
+ lines
+ end
end