Project

General

Profile

Actions

Bug #13937

closed

ARGV doesn't behave like an array

Added by lucascaton (Lucas Caton) about 7 years ago. Updated about 7 years ago.

Status:
Rejected
Assignee:
-
Target version:
-
ruby -v:
ruby 2.4.2p198 (2017-09-14 revision 59899) [x86_64-darwin16]
[ruby-core:82961]

Description

Ruby allows us to access an array item by passing its index, regardless if there is or not a space between the array and the [] with the index.
Ie.: both of the following lines work:

[][0] # nil
[] [0] # nil

ARGV is an array as well. However, it doesn't work when we add a space to access some index:

ARGV # []
ARGV.class # Array
ARGV == [] # true
ARGV[0] # nil
ARGV [0] # NoMethodError: undefined method `ARGV' for main:Object

The last line should've returned nil.

Ps.: Same happens when you call a file with arguments by running $ ruby file.rb foo bar.
ARGV [0] will also raise an exception.

Actions

Also available in: Atom PDF

Like0
Like0