From: djberg96@... Date: 2015-02-02T22:41:08+00:00 Subject: [ruby-core:67956] [ruby-trunk - Bug #10815] Dir.foreach in block form does not allow encoding Issue #10815 has been updated by Daniel Berger. Ok, but that seems a strange way to declare the function prototype. Compare that with Dir.entries, which does give you an error if you pass the wrong number of arguments. ---------------------------------------- Bug #10815: Dir.foreach in block form does not allow encoding https://bugs.ruby-lang.org/issues/10815#change-51343 * Author: Daniel Berger * Status: Rejected * 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/