Je passe le script à ruby via STDIN
. E.g.,Comment passer les paramètres au script de ligne de commande ruby
$ ruby << EE
> puts "args: #{ARGV}"
> EE
args: []
$ ruby << EE
> puts "args: #{ARGV}"
> EE 'arg1' 'arg2'
> EE
-:2: syntax error, unexpected tSTRING_BEG, expecting keyword_do or '{' or '('
EE 'arg1' 'arg2'
^
$ ruby 'arg1' 'arg2' << EE
> puts "args: #{ARGV}"
> EE
ruby: No such file or directory -- arg1 (LoadError)
$ ruby -- 'arg1' 'arg2' << EE
> puts "args: #{ARGV}"
> EE
ruby: No such file or directory -- arg1 (LoadError)
$ ruby -e << EE
> puts "args: #{ARGV}"
> EE
ruby: no code specified for -e (RuntimeError)
$
Je ne sais pas comment passer les paramètres dans cette situation. L'option -e
n'obtient pas ce qui est passé à STDIN
. Selon man page, la syntaxe est:
ruby ... [--] [prog_file] [args]
mais mon prog_file
est sur STDIN
.
Merci. Est-ce documenté quelque part? – Kashyap
@Kashyap Je ne le trouve pas dans la documentation de Ruby, mais le livre de Pickaxe le mentionne dans [Ruby and Its World] (http://ruby-doc.com/docs/ProgrammingRuby/html/rubyworld.html) – Stefan