Originariamente inviato da weppos
Su irb $0 restituisce irb poiché è quello il nome del file che esegue.
arguments non esiste. Nello script che hai postato manca la parte che istanzia la classe e passa ad arguments l'array di parametri.
in effetti
sorry, l'ho scordato perchè è in fondo al file ed arguments = ARGV

Codice PHP:
app App.new(ARGVSTDIN)
app.run 

Se usi optparse, comunque, molte attività di parsing le esegue lui e quindi dovrai far riferimento direttamente all'oggetto parser creato.

codice:
#!/usr/bin/env ruby -wKU
p ARGV
codice:
$ ruby test.rb 
[]
$ ruby test.rb foo bar
["foo", "bar"]
$ ruby test.rb foo bar --n baz
["foo", "bar", "--n", "baz"]
Il test funzia, però sul mio script continua a non funzionare anche se non carico nulla oltre a rubygems e ruby-debug (quindi escludo OptionParser ecc.).

Codice PHP:
#require 'optparse'
#require 'rdoc/usage'
#require 'ostruct'
#require 'date'
require 'rubygems'
require 'ruby-debug'

class App
  VERSION 
'0.0.1'

  
attr_reader :options

  def initialize
(argumentsstdin)
  
debugger
    
@arguments arguments
    
@stdin stdin
    
@options OpenStruct.new
  
end

  
...
end

app 
App.new(ARGVSTDIN)
app.run 
Forse dipende dal debug con irb, adesso controllo con un each and puts.

thx