Issue #16024 has been updated by nagachika (Tomoyuki Chikanaga).

Backport changed from 2.5: DONTNEED, 2.6: REQUIRED to 2.5: DONTNEED, 2.6: DONE

ruby_2_6 r67743 merged revision(s) f1b76ea63ce40670071a857f408a4747c571f1e9,1d1f98d49c9908f4e3928e582d31fd2e9f252f92.

----------------------------------------
Bug #16024: String#split with block. cannot use Regexp in the block.
https://bugs.ruby-lang.org/issues/16024#change-80829

* Author: tksotn (TAKASHI OOTANI)
* Status: Closed
* Priority: Normal
* Assignee: 
* Target version: 
* ruby -v: ruby 2.6.3p62 (2019-04-16 revision 67580) [x86_64-linux]
* Backport: 2.5: DONTNEED, 2.6: DONE
----------------------------------------
```
$ ruby -v
ruby 2.6.3p62 (2019-04-16 revision 67580) [x86_64-linux]
$ cat foo
str = "aaa,bbb;ccc,ddd"
n=0
str.split(/[;,]/) do |word|
    n+=1
    p [n,word.gsub(/\w/,"A")]
end
$ ruby foo
[1, "AAA"]
[2, "\u0000AAA,AAA;AAA,AAA"]
$
```
```
$ cat bar
str = "aaa\nb\nccc\nddd\n"
n=0
str.split(/\n/) do |line|
    n+=1
    p [n,line.gsub(/.*/,"A")]
end
$ ruby bar
=> infinite loop
```
### expected output:
```
[1, "AAA"]
[2, "AAA"]
[3, "AAA"]
[4, "AAA"]
```



-- 
https://bugs.ruby-lang.org/

Unsubscribe: <mailto:ruby-core-request / ruby-lang.org?subject=unsubscribe>
<http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-core>