From: trevor@... Date: 2015-11-18T17:31:58+00:00 Subject: [ruby-core:71561] [Ruby trunk - Bug #11711] [Open] Documentation for ARGV behavior is incorrect Issue #11711 has been reported by Trevor Rosen. ---------------------------------------- Bug #11711: Documentation for ARGV behavior is incorrect https://bugs.ruby-lang.org/issues/11711 * Author: Trevor Rosen * Status: Open * Priority: Normal * Assignee: Trevor Rosen * ruby -v: 2.2.3 * Backport: 2.0.0: UNKNOWN, 2.1: UNKNOWN, 2.2: UNKNOWN ---------------------------------------- http://ruby-doc.org/core-2.2.3/Object.html#ARGV The above documentation states that ARGV[0] will contain the name of the Ruby program. While this is the behavior of ARGV in other places (C, Python, etc), it is *not* the behavior in Ruby. In Ruby, ARGV[0] contains the name of the first argument supplied to the program's invocation. To reproduce: ~~~ # argv-tester.rb #!/usr/bin/env ruby p ARGV[0] ~~~ Then execute with an argument: ~~~ $> ruby argv-tester.rb foo foo ~~~ And without an argument: ~~~ $> ruby argv-tester.rb nil ~~~ -- https://bugs.ruby-lang.org/