[ruby-list:50685] Dir.openの第2引数
From:
Yasuhiro KIMURA <yasu@...>
Date:
2018-07-14 21:47:34 UTC
List:
ruby-list #50685
はじめまして。木村と申します。
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 `<main>'
yasu@rolling[2041]%
このように引数の数が間違っているといわれてしまいます。
* FreeBSD 11.2-RELEASE上のRuby 2.4.4
* CentOS 6上のRuby 2.5.1
といった環境でも試してみたのですが、同じ結果でした。
何が間違っているのでしょうか。
---
木村 康浩