From: djberg96@... Date: 2015-02-01T22:11:20+00:00 Subject: [ruby-core:67939] [ruby-trunk - Bug #10815] Dir.foreach in block form does not allow encoding Issue #10815 has been updated by Daniel Berger. I should also note that the method does not appear to do any sort of type or arity checking. I'm not sure if that's intentional. Dir.foreach(Dir.pwd, true, false, nil) # => no error ---------------------------------------- Bug #10815: Dir.foreach in block form does not allow encoding https://bugs.ruby-lang.org/issues/10815#change-51328 * Author: Daniel Berger * Status: Open * Priority: Normal * Assignee: * ruby -v: ruby 2.2.0p0 (2014-12-25 revision 49005) [i386-mswin32_120] * Backport: 2.0.0: UNKNOWN, 2.1: UNKNOWN, 2.2: UNKNOWN ---------------------------------------- It doesn't appear that Dir.foreach{} allows an encoding: enc = Encoding::UTF_16LE # Without a block, works ok p Dir.foreach(Dir.pwd) # => Enumerator p Dir.foreach(Dir.pwd, enc) # => Enumerator # With a block, fails if more than 1 argument is passed p Dir.foreach(Dir.pwd){ } # => nil p Dir.foreach(Dir.pwd, enc){ } # => ArgumentError -- https://bugs.ruby-lang.org/