[ruby-core:65278] [ruby-trunk - Bug #10294] [Rejected] Dir[] cannot be called with an array argument

From: nobu@...
Date: 2014-09-26 04:04:49 UTC
List: ruby-core #65278
Issue #10294 has been updated by Nobuyoshi Nakada.

Status changed from Open to Rejected

Not an array of path names, any number of path names,

~~~ruby
Dir['/bin/bash', '/bin/sh']
~~~

----------------------------------------
Bug #10294: Dir[] cannot be called with an array argument
https://bugs.ruby-lang.org/issues/10294#change-49101

* Author: Jack Nagel
* Status: Rejected
* Priority: Normal
* Assignee: 
* Category: 
* Target version: 
* ruby -v: ruby 2.2.0dev (2014-09-20 trunk 47651) [x86_64-darwin13]
* Backport: 2.0.0: UNKNOWN, 2.1: UNKNOWN
----------------------------------------
The documentation for `Dir[]` claims that it can be called with an array and it will behave like Dir.glob:

```
Dir[ array ] → array
Dir[ string [, string ...] ] → array
Equivalent to calling Dir.glob(array,0) and Dir.glob([string,...],0).
```


However, doing so raises a TypeError:

```
$ ruby -e "puts Dir[['/bin/bash']]"
-e:1:in `[]': no implicit conversion of Array into String (TypeError)
	from -e:1:in `<main>'
```

Dir.glob works as documented:

```
$ ruby -e "puts Dir.glob ['/bin/bash']"
/bin/bash
```


I'm unsure if this is supposed to work as described or if it is a documentation bug, but it is reproducible on 2.0, 2.1, and trunk.



-- 
https://bugs.ruby-lang.org/

In This Thread

Prev Next