[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

といった環境でも試してみたのですが、同じ結果でした。

何が間違っているのでしょうか。

---
木村 康浩

In This Thread

Prev Next