Ruby é uma linguagem de programação interpretada, dinâmica e totalmente orientada a objetos. Foi criada no Japão por Yukihiro Matsumoto ("Matz"), em 1995. Teve influencias das linguagens Ada, CLU, Dylan, Eiffel, Lisp, Perl, Python, Scheme e Smalltalk. Atualmente, Ruby é a 10º linguagem de programação mais popular do mundo, de acordo com o Índice Tiobe.[1]
Características[]
Uma série de características foram definidas para atender às propostas do Ruby:
- Todas as variáveis são objetos, onde até os "tipos primitivos" (tais como inteiro, real, entre outros) são classes;
- Métodos de geração de código em tempo real, como os "attribute accessors";
- Code blocks (blocos de código) passados como parâmetros para métodos; permite a criação de closures;
- Mixins, uma forma de emular a herança múltipla;
- Tipagem dinâmica, mas forte. Isso significa que todas as variáveis devem ter um tipo (fazer parte de uma classe), mas a classe pode ser alterada dinamicamente;
Ruby está disponível para diversas plataformas, como Microsoft Windows, Linux, Solaris e Mac OS X.
Tipos de dados[]
Não existem "tipos primitivos" em Ruby; todos os tipos são classes e podem ser modificados:
- Object é a classe mãe de todas as outras classes em Ruby;
- Numeric é uma classe abstrata que representa números;
- String uma cadeia de caracteres. Pode ser delimitado por apóstrofes (') ou aspas ("). Tudo o que há entre apóstrofes é interpretado literalmente, entre aspas o programador deve se utilizar de símbolos para representar caracteres específicos, como em C. Exemplos: 'azul', "a\nb\nc";
- Symbol é semelhante a uma string, mas dois símbolos iguais possuem o mesmo endereço de memória, sendo assim é ótimo para se utilizar como índice numa Hash. Porém, devido à sua natureza, o coletor de lixo do Ruby não os elimina. É definido com um sinal de dois pontos (:), por exemplo, :nome;
- Array são arrays dinâmicos, que podem ser usados para representar matrizes e vetores. É delimitado por colchetes ([]) e cada valor é separado por vírgula. Exemplo: [4, 'azul', :termometro];
- Hash representa um vetor associativo, onde cada valor recebe uma chave, e, assim como as Arrays, é dinâmica. É delimitada por chaves ({}), e a chave precede o valor com um sinal '=>'. Exemplo: {:controller => 'user', :action => 'index'}. Qualquer objeto pode ser uma chave, mas os mais usados são as Strings e os Symbols;
- Regexp representa expressões regulares, delimitadas por //. Funciona de forma semelhante a Perl. Exemplo: /a|ae/.
Ver também[]
Referências
- ↑ Tiobe Index (em inglês). tiobe.com. Página visitada em 26 de novembro de 2010.
Ligações externas[]
- Site Oficial (em português)