Anda di halaman 1dari 3

Ruby (linguagem de programa��o)

Origem: Wikip�dia, a enciclop�dia livre.


Saltar para a navega��oSaltar para a pesquisa
Disambig grey.svg Nota: Para outros significados, veja Ruby.
Ruby
Logotipo do Ruby
Paradigma Multiparadigma
Surgido em 1995
�ltima vers�o 2.5.1 (28 de mar�o de 2018; h� 0 dia[1])
Criado por Yukihiro Matsumoto
Estilo de tipagem: din�mica, forte
Dialetos: YARV, Ruby MRI, JRuby, Rubinius, IronRuby, MacRuby e HotRuby, RGSS
Influenciada por Ada, CLU, Dylan, Eiffel, Lisp, Perl, Python, Scheme, Smalltalk
Influenciou linguagem D,[2] Falcon, Fantom, Groovy, Ioke, Nu
Licen�a: Dupla: Ruby License / FreeBSD License[3]
Extens�o do arquivo: .rb
P�gina oficial www.ruby-lang.org
Ruby � uma linguagem de programa��o interpretada multiparadigma, de tipagem
din�mica e forte, com gerenciamento de mem�ria autom�tico, originalmente planejada
e desenvolvida no Jap�o em 1995, por Yukihiro "Matz" Matsumoto, para ser usada como
linguagem de script. Matz queria uma linguagem de script que fosse mais poderosa do
que Perl, e mais orientada a objetos do que Python.[4] Ruby suporta programa��o
funcional, orientada a objetos, imperativa e reflexiva. Foi inspirada
principalmente por Python, Perl, Smalltalk, Eiffel, Ada e Lisp, sendo muito similar
em v�rios aspectos a Python.[5] Ruby est� entre as 10 linguagens mais populares, de
acordo com uma pesquisa conduzida pela RedMonk.[6]

A implementa��o 1.8.7 padr�o � escrita em C, como uma linguagem de programa��o de


�nico passe.[7] N�o h� qualquer especifica��o da linguagem, assim a implementa��o
original � considerada de fato uma refer�ncia. Atualmente, h� v�rias implementa��es
alternativas da linguagem, incluindo YARV, JRuby, Rubinius, IronRuby, MacRuby e
HotRuby, cada qual com uma abordagem diferente, com IronRuby,[8] JRuby[9] e
MacRuby[10] fornecendo compila��o JIT e, JRuby[9] e MacRuby[10] tamb�m fornecendo
compila��o AOT. A partir das s�ries 1.9 em diante Ruby passou a utilizar por padr�o
a YARV (Yet Another Ruby VirtualMachine) substituindo a Ruby MRI (Matz's Ruby
Interpreter).[11]

�ndice
1 Hist�ria
1.1 Etimologia
2 Caracter�sticas
2.1 Tipos de dados
2.2 Declara��o de vari�veis
3 Exemplos de c�digo
3.1 Programa Ol� Mundo
3.2 Strings
3.3 Cole��es
3.3.1 Array
3.3.2 Hash
3.4 Blocos e iteradores
3.5 Classes
3.5.1 Classes abertas
3.5.2 Heran�a
3.6 Modules
3.7 Tratamento de exce��es
3.8 Ruby para administradores de sistemas
4 Reposit�rios e bibliotecas
5 Ver tamb�m
6 Refer�ncias
7 Liga��es externas
Hist�ria

Yukihiro Matsumoto, criador da linguagem Ruby


A linguagem Ruby foi concebida em 24 de fevereiro de 1993 por Yukihiro Matsumoto,
que pretendia criar uma nova linguagem que balanceava programa��o funcional com a
programa��o imperativa.[5] Matsumoto afirmou: "Eu queria uma linguagem de script
que fosse mais poderosa do que Perl, e mais orientada a objetos do que Python. �
por isso que eu decidi desenvolver minha pr�pria linguagem.".[4]

Ap�s o lan�amento do Ruby 1.3 em 1999, iniciou-se a primeira lista de discuss�o em


ingl�s chamada Ruby-Talk,[12] marcando um interesse crescente na linguagem fora do
Jap�o. Em setembro de 2000, o primeiro livro em ingl�s, Programming Ruby, foi
impresso, sendo mais tarde liberado gratuitamente para o p�blico, ajudando no
processo de ado��o de Ruby por falantes do ingl�s.[4]

Por volta de 2005, o interesse pela linguagem Ruby subiu em conjunto com o Ruby on
Rails, um framework de aplica��es web popular escrito em Ruby. Rails �
frequentemente creditada como a aplica��o que tornou Ruby "famosa" e a associa��o �
t�o forte que ambos s�o muitas vezes confundidos por programadores que s�o novos a
Ruby.[13]

At� a vers�o 1.9.2-p290, a linguagem era lan�ada sob a licen�a dupla Ruby License /
GNU General Public License. A partir da vers�o 1.9.3-p0, passou a ser lan�ada sob a
licen�a dupla Ruby License / FreeBSD License (tamb�m conhecida como 2-clause BSDL).
[14][3] A partir da vers�o 2.1.0, o projeto passou a utilizar versionamento
sem�ntico.[15] Suporte oficial para a vers�o 1.9.3 foi encerrado em 23 de fevereiro
de 2015.[16]

Etimologia
O nome Ruby foi decidido durante uma sess�o de bate-papo online entre Matsumoto e
Keiju Ishitsuka em 24 de fevereiro de 1993, antes que qualquer linha de c�digo
tivesse sido escrita para a linguagem.[17] Inicialmente foram propostos dois nomes:
"Coral" e "Ruby", sendo esse �ltimo nome proposto escolhido mais tarde por Matz em
um e-mail para Ishitsuka.[18] Matsumoto explicou mais tarde que o motivo de ter
escolhido o nome "Ruby" foi porque essa era a pedra zodiacal de um de seus colegas.
[19]

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"
Atrav�s do RubyGems, � poss�vel instalar e atualizar bibliotecas com uma linha de
comando, de maneira similar ao APT do Debian Linux
Code blocks (blocos de c�digo) passados como par�metros para m�todos; permite a
cria��o de clausuras
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, al�m de tamb�m ser execut�vel em cima da m�quina virtual Java
(atrav�s do JRuby) e da m�quina virtual Microsoft .NET (atrav�s do IronRuby).

Tipos de dados
N�o existem "tipos primitivos" em Ruby; todos os tipos s�o classes:
Object � a classe m�e de todas as outras classes em Ruby
Numeric � uma classe abstrata que representa n�meros
Integer � uma classe que representa n�meros inteiros
Fixnum representa n�meros inteiros de precis�o fixa
Bignum representa n�meros inteiros de precis�o infinita, dependente apenas da
mem�ria dispon�vel
Float � uma classe que representa n�meros de ponto flutuante (n�meros reais)
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, e, assim como as Arrays, � din�mica. �
delimitada por chaves ({}), e o �ndice precede o valor com um sinal '=>'. Exemplo:
{:controller => 'user', :action => 'index'}. Qualquer objeto pode ser um �ndice,
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/
Declara��o de vari�veis
Um objeto em Ruby � declarado com uma atribui��o comum:

class Carro
@@marcas = [ "Ford", "GM", "Fiat", "VW" ]
end
Uma vari�vel local � declarada normalmente. Uma vari�vel de inst�ncia � declarada
com um "@" no nome. Uma vari�vel de classe � declarada com "@@", e uma vari�vel
global � declarada com "$". Vari�veis que iniciam com uma letra mai�scula s�o
consideradas constantes.

class A
@@contexto = "classe"

def initialize
@contexto = "inst�ncia"
end

def contexto
@contexto
end

def A.contexto
@@contexto
end
end

a = A.new
a.contexto # >> "inst�ncia"
A.contexto # >> "classe"

Anda mungkin juga menyukai