diff options
| author | Yukihiro "Matz" Matsumoto <[email protected]> | 2018-04-19 17:26:01 +0900 |
|---|---|---|
| committer | Yukihiro "Matz" Matsumoto <[email protected]> | 2018-04-19 17:33:00 +0900 |
| commit | 8b92ab5c7bfbc52934fe23075a86163f2b9fc7c3 (patch) | |
| tree | d320a3a619155000703c321af9300715146dad84 /mrbgems/mruby-string-ext/mrblib | |
| parent | c79e81ebc32274be7442b46541872ed343c6f752 (diff) | |
| download | mruby-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')
| -rw-r--r-- | mrbgems/mruby-string-ext/mrblib/string.rb | 21 |
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 |
