Forum: Ruby argumentos en linea de comando

Announcement (2017-05-07): www.ruby-forum.com is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see rubyonrails.org/community and ruby-lang.org/en/community for other Rails- und Ruby-related community platforms.
9c93e8b4826699f1de1180b79a546d53?d=identicon&s=25 Foreero Ivan (ivmafo)
on 2009-01-20 17:02
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
63529e6fbb35dde336d471b569b84d87?d=identicon&s=25 Rodrigo Bermejo (rbermejo)
on 2009-01-20 17:23
Foreero Ivan 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/rdo...
Suerte !
E088bb5c80fd3c4fd02c2020cdacbaf0?d=identicon&s=25 Jesús Gabriel y Galán (Guest)
on 2009-01-20 17:58
(Received via mailing list)
2009/1/20 Foreero Ivan <ivmafo@gmail.com>:
> 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.
This topic is locked and can not be replied to.