From: Yasuhiro KIMURA Date: 2018-07-15T06:47:34+09:00 Subject: [ruby-list:50685] Dir.openの第2引数 はじめまして。木村と申します。 Dir.openの引数に関して質問させてください。 リファレンスマニュアルによるとDir.openの引数は、 * 2.0まではディレクトリのパスを示す文字列を一つ取るだけ * 2.1以降では第2引数としてディレクトリのエンコーディングを文字列か Encodingオブジェクトで指定できる と書かれています。ところが、 yasu@rolling[2038]% cat Dir.open #!/usr/bin/env ruby Dir.open(".", Encoding::UTF_8) yasu@rolling[2039]% ↑のようなコードをCygwinのRubyで実行すると、 yasu@rolling[2039]% ruby --version ruby 2.3.6p384 (2017-12-14 revision 9808) [x86_64-cygwin] last_commit=ruby 2.3.3 yasu@rolling[2040]% ./Dir.open ./Dir.open:3:in `open': wrong number of arguments (given 2, expected 1) (ArgumentError) from ./Dir.open:3:in `
' yasu@rolling[2041]% このように引数の数が間違っているといわれてしまいます。 * FreeBSD 11.2-RELEASE上のRuby 2.4.4 * CentOS 6上のRuby 2.5.1 といった環境でも試してみたのですが、同じ結果でした。 何が間違っているのでしょうか。 --- 木村 康浩