Guia do Utilizador de Ruby

Traduzido para o Português por José A. Soares Augusto, baseado nas seguintes versões:

Original Japonês de Yukihiro Matsumoto. Tradução para Inglês de GOTO Kentaro e Julian Fondren. Versão refinada em Inglês de Mark Slagell.

Versão Portuguesa 1.2, de Outubro de 2006

Introdução

O Ruby é uma linguagem de programação orientada para objectos (OO) de aprendizagem simples, originária do Japão, cujo criador, arquitecto e programador principal é Yukihiro Matsumoto (carinhosamente apelidado de Matz pela comunidade do Ruby). O Ruby pode causar estranheza ao primeiro contacto, mas a sua sintaxe foi desenhada com o objectivo de promover a fácil escrita e leitura de programas. Ao ler este "Guia do Utilizador de Ruby" irá, decerto, ganhar alguma experiência na utilização trivial desta linguagem de programação. Por vezes, nalgumas secções do documento, ir-se-á discutir a natureza do Ruby de uma forma mais aprofundada do que aquela patente no manual de referência, focando-se alguns dos detalhes da sua implementação. Se pretender apenas um conhecimento superficial da linguagem, poderá ignorar estas passagens.

A licença de distribuição do Ruby é "open source", ou seja, em termos práticos é de utilização livre e gratuita. O site oficial é www.ruby-lang.org. Nele encontrará muita informação: o código fonte da linguagem, distribuições binárias para as plataformas (ou sistemas operativos) mais comuns, tais como o Windows (95, 98, 98SE, ME, NT, 2000, XP) o Linux e outras variedades de Unix, links para documentação, blogs, wikis, etc... Em Unix/Linux é normalmente fácil compilar o código fonte utilizando um dos compiladores de C disponíveis no sistema operativo (frequentemente o GNU gcc). No site oficial do Ruby também se encontram documentos sobre a linguagem, as licenças em que esta é disponibilizada, links para vários sites da Internet com bibliotecas de extensão da linguagem, etc.

O presente guia consiste de 26 lições e foi originalmente escrito por Matz para a versão 1.4 do Ruby. Posteriormente à sua escrita já foram desenvolvidas as versões 1.6 e 1.8 do Ruby e, actualmente, em Outubro de 2006 a versão estável 'oficial' é o Ruby 1.8.5. Num futuro próximo aparecerá a versão 2.0 que irá incluir uma máquina virtual que permitirá compilar código Ruby para bytecode. Este projecto já está em andamento há algum tempo, denominando-se YARV .

Este "Guia do Utilizador" está organizado em 26 sub-documentos para facilitar a consulta. Cada um deles é uma unidade de conhecimento razoavelmente autónoma dedicada a um aspecto particular da linguagem.


Índice

  1. Considerações preliminares
  2. Características do Ruby
  3. Exemplos simples
  4. Strings (ou "cadeias de caracteres")
  5. Expressões regulares
  6. Arrays ('vectores') e hashes (dicionários ou 'vectores associativos')
  7. De novo os exemplos simples
  8. Estruturas de controle
  9. O que é um iterador?
  10. Introdução à orientação para objectos
  11. Métodos
  12. Classes
  13. Herança
  14. Redefinição de métodos
  15. Mais acerca de métodos (controle de acesso)
  16. O método singletão ('singleton')
  17. Módulos
  18. Objectos do tipo 'procedimento' (Procedure)
  19. Variáveis
  20. Variáveis globais
  21. Variáveis de instância
  22. Variáveis locais
  23. A classe constante
  24. Processamento de excepções
  25. Não se esqueça de fechar a porta ('ensure')
  26. Algumas considerações práticas


Deixa-se já aqui uma observação preliminar: embora o autor desta tradução preze muito a Língua Portuguesa, e esta tradução pretenda contribuir directamente para o seu enriquecimento pela disponibilização de mais um conteúdo (embora não integralmente original) escrito em Português, considera que a manutenção de alguns termos não traduzidos do Inglês torna o texto mais escorreito e menos maçudo.

Na realidade não choca, hoje em dia, misturar num texto escrito em Português palavras como hardware e software, por exemplo, pois os conceitos são entendidos. Pela mesma razão iremos aqui utilizar a palavra string em vez de 'cadeia de caracteres', array em vez de fiada ou de vector, hash em vez de dicionário, entre outros termos que a seu devido tempo serão introduzidos.

Nota da tradução para Português

Este "Guia do Utilizador do Ruby" foi traduzido para o Português a partir de duas traduções Inglesas relativas à versão original, escrita em Japonês por Yukihiro Matsumoto, aka 'Matz', o criador da linguagem. Veja a nota de tradução mais abaixo, referente à primeira versão do guia em Inglês.

Também foi consultada a tradução 'melhorada' em Inglês realizada por Mark Slagell (o capítulo 26 destas notas é proveniente desta versão).

Tradução da versão Portuguesa

José A. Soares Augusto (Un. de Lisboa, Fac. de Ciências, Dep. de Física / Inesc-ID Lisboa)

Dirija comentários e correcções sobre esta versão Portuguesa para  jasa [arroba] inesc-id [ponto] pt, página em http://calypso.inesc-id.pt/jasa

Seguem-se as notas de tradução do guias em Inglês do Ruby utilizados como base deste documento.


Translator's note

The (English version) is translated from the original version in Japanese by Matz.

Any questions for this document are welcome. There is also Ruby Language Reference Manual written by the author of Ruby. Check it out. Thanks!


Translators

GOTO Kentaro & Julian Fondren

Correspondence should be addressed to GOTO Kentaro: <URL:mailto:gotoken@notwork.org>


matz@netlab.co.jp