Argumentos en linea de comando


#1

Hola, me gustaria saber si existe alguna forma de generar mis propios
argumentos en una linea de comando . Algo asi como como se usa el ARGV:

$ ruby miscript.rb --miargumento1=1 --miargumento2=2 …

para poder usar las variables “miargumentoX” dentro de mi script ruby

Gracias de antemano…

Sorry for my poor english…
Iwould like to know if there is any way to create my own command line
arguments. like ARGV

something like this:

$ ruby myscript.rb --myargument1=1 --myargument2=2 …

and use the “myargumentX” innto my script ruby


#2

Foreero I. wrote:

Hola, me gustaria saber si existe alguna forma de generar mis propios
argumentos en una linea de comando . Algo asi como como se usa el ARGV:

$ ruby miscript.rb --miargumento1=1 --miargumento2=2 …

para poder usar las variables “miargumentoX” dentro de mi script ruby

Gracias de antemano…

Sorry for my poor english…
Iwould like to know if there is any way to create my own command line
arguments. like ARGV

something like this:

$ ruby myscript.rb --myargument1=1 --myargument2=2 …

and use the “myargumentX” innto my script ruby

http://www.ruby-doc.org/stdlib/libdoc/optparse/rdoc/index.html
Suerte !


#3

2009/1/20 Foreero I. removed_email_address@domain.invalid:

Hola, me gustaria saber si existe alguna forma de generar mis propios
argumentos en una linea de comando . Algo asi como como se usa el ARGV:

$ ruby miscript.rb --miargumento1=1 --miargumento2=2 …

para poder usar las variables “miargumentoX” dentro de mi script ruby

Gracias de antemano…

Hola. En Ruby existe un objeto llamado precisamente ARGV que es un
array que contiene los argumentos del programa:

jesus@jesus-laptop:~/temp/ruby$ ruby argv.rb --miargumento1=2
–miargumento2=3
["–miargumento1=2", “–miargumento2=3”]
jesus@jesus-laptop:~/temp/ruby$ cat argv.rb
p ARGV

Para facilitar un procesamiento más complejo, echale un vistazo a
OptionParser, GetOptLong y gemas
como main o trollop, que te ayudan a procesar opciones pasadas como
argumentos. Por ejemplo,
este es un trozo de un script mío usando la gema main

require ‘main’

main {
description <<-DESC
Deletes or gzips jhub log files older than the specified dates,
searching the specified directories
recursively. The files should match this regexp
/^(\d\d\d\d-\d\d-\d\d).*.log(.gz)?$/
DESC

option(“zip”, “z”) {
argument :required
description “Zip files older than the specified number of days”
cast :int
}
option(“delete”, “d”) {
argument :required
defaults 7
description “Delete files older than the specified number of days.
If --zip option is specified, only delete the files that are in
between both dates”
cast :int
}
argument(“directories”) {
arity -2
}

def run
folders = params[:directories].values
have_to_zip = params[:zip].given?
zip = params[:zip].value

Resto del programa

}

Jesus.