Você está na página 1de 27

Seminrio de Ruby

Apresentao sobre a linguagem de


programao Ruby,
suas caractersticas e aplicaes.

O que ?

Foi criada por um japons cujo apelido Mat


Fe!ereiro"#$$% & ideias iniciais
'erso (.$) lanada no *apo em deembro"#$$).
'erso #.( lanada o+icialmente em deembro"#$$,.

Foi inspirada principalmente por -yt.on,


-erl, /malltal0,1i++el, Ada e 2isp, sendo muito
similar em !3rios aspectos a -yt.on

4 uma uma linguagem de programao interpretada,


com 5ipagem 6in7mica e +orte, e alm disso,
orientada a objetos

-ossui uma sinta8e simples 9en8uta:

5odas as !ari3!eis so objetos onde at os


tipos primiti!os so classes.
18emplo;
puts <Ruby e. supimpa=<.split.re!erse
> ??@ A<supimpa=<, <e.<, <Ruby<B

6ispon!el para 2inu8, Mac e CindoDs.


O que ?

Interpretada

Dinmica

Multi-Paradigma

Open-Source
Caractersticas Gerais

Eo necess3rio compilar o cFdigo=


Caractersticas Gerais - Interpretada
Em tempo de execuo, poss!el"

#dicionar no!o c$digo

Extender classes

Extender O%&etos

#lterar o sistema de tipos

Etc'
Caractersticas Gerais - Dinmica

Grientada a objetos

Funcional

-ermite programao imperati!a


Caractersticas Gerais Multi-Paradigma
'oc pode...

Gl.ar o cFdigo

1studar o cFdigo

Alterar o cFdigo

Gtimiar o cFdigo
Caractersticas Gerais Open-source

'ari3!eis 2ocal e Hlobal

localvar = ola" #varivel local


$globalvar = mundo" #varivel global
Estruturas

18emplo de Iello Corld;
puts 'Hello World'

18emplo de interao com o usu3rio
print( 'Digite seu nome: ' )
nome = gets()
puts( "Ol #{nome}" )
Estruturas
1strutura JF" 12/1" 12/JF
x=1
if x > 2
puts "x maior que 2"
elsif x <= 2 and x!=0
puts "x is 1"
Else
puts Desconheo o valor"
end
Estruturas
1strutura CIJ21
$i = 0
$num = 5
while $i < $num do
puts(dentro do loop i = #$i" )
$i +=1
end
1strutura FGR
for i in 0..5
puts O valor da varivel local #{i}"
end
Estruturas

Klasses e Gbjetos
class Dog
def set_name( aName )
@myname = aName
End
def get_name
return @myname
end
Estruturas
def talk
return 'woof!'
end
end

# --- Instancia objetos da classe dog


mydog = Dog.new
yourdog = Dog.new
someotherdog = Dog.new

# --- Seta os nomes


mydog.set_name( Rex' )
yourdog.set_name( Thor' )
Estruturas
# --- Pega os nomes e imprime na tela
# Dogs
puts(mydog.get_name)
puts(yourdog.get_name)
# O que ser que acontece se executarmos esse comando?
puts(someotherdog.get_name)
# --- Pea para que eles falem!
puts(mydog.talk)
puts(yourdog.talk)

Estruturas
# Sada:
Fido
Bonzo
nil
woof!
woof!

Observe que ele imprimiu nil pois no setamos


o nome da varivel $someotherdog

Estruturas

Mtodos

SEMPRE retornam algo, nem que seja nil.
Em geral, o valor retornado o resultado da
ltima expresso do mtodo.
Estruturas
A#, L, %, M, )B
A#, <tDo<, %.(, )B
Jtem inde8 >( o+ a# is #, item >% is )
Estruturas
MNltiplos retornos por mtodo

Estruturas
plica!"o
O que Rails?
um framework para web cons-
trudo sobre o Ruby. Ou seja,
um conjunto de cdigos,tcni-
cas e padres para desenvol- dog h
ver aplicaes para web uti-
lizando a linguagem Ruby.
Utiliza conceitos de desenvolvimento gil
e de Web 2.0
Vantagens de utilizar Rails:

Agilidade

Testabilidade

Manutenibilidade

Facilidade
plica!"o
-adro de projeto O M'K 9model-view-controller:
plica!"o
plica!"o
O MVC pode ser entendido como uma diviso de
tarefas numa aplicao.

View a pgina HTML gerada.

Controller o responsvel por gerar os dados


dinmicos para o HTML

Model a camada de comunicao com os dados


armazenados. Seja em um banco de dados ou em
um arquivo XML
plica!"o
Port#$lio
%e#er&ncias
gradecimento
M'I(O O)%IGDO*

Você também pode gostar