Ir para o conteúdo
  • Revista PROGRAMAR: Já está disponível a edição #60 da revista programar. Faz já o download aqui!

NCS_One

Argumentos.

Mensagens Recomendadas

NCS_One

Boas.

Estive a pesquisar e encontrei o ARGV que se usa assim :

./test.rb arg1 arg2

É possível dar identificadores aos argumentos ?

Tipo :

./test.rb -a arg1 -b arg2

Obrigado.


Se a vida te voltar as costas aproveita e apalpa-lhe o cu.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
Rui Carlos

Penso que o Ruby trato um '-a' como outra string qualquer nos argumentos, e depois terás que ser tu a interpretar os seus valores. Pesquisa por "getopt" para encontrar funções que te ajudam a interpretar os argumentos passados à aplicação.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
rfelix

Boas,

Como o Rui Carlso disse, tens que ser tu a associar os identificadores aos argumentos. Podes fazer isso à mão se for algo simples. Mas se quiseres ter algo mais flexivel, tens várias opções.

Eu pelo menos já usei Trollop e achei bastante facil de utilizar (http://www.rubyinside.com/trollop-command-line-option-parser-for-ruby-944.html) e tens a opção de instalar aquilo como um gem ou então sacares o ficheiro de codigo (que é apenas um unico ficheiro) e adiciona-lo ao lib da tua aplicação.

Também tens o OptionParse que já vem com o Ruby e podes encontrar a documentação aqui: http://ruby-doc.org/stdlib/libdoc/optparse/rdoc/classes/OptionParser.html

Há outros também, basta procurar no google por "ruby command line parser."

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora

×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade. Este site usa cookies para disponibilizar funcionalidades personalizadas. Para mais informações visite esta página.