Upload
rodrigo-urubatan
View
153
Download
3
Embed Size (px)
DESCRIPTION
Apresentação de Maio de 2011 sobre como programadores java podem aprender ruby mais fácil e como podem continuar utilizando recursos interessantes da plataforma java ao mesmo tempo
Citation preview
O básico para entender e escrever código ruby
http://www.urubatan.com.br
Uma linguagem dinâmica, open source com foco na simplicidade e na produtividade. Tem uma sintaxe elegante de leitura natural e fácil
escrita.
http://www.urubatan.com.br
Um framework pra desenvolvimento de aplicações Web extremamente flexível e produtivo, e o único framework que eu conheço que tem a felicidade dos desenvolvedores como um dos objetivos!
http://www.urubatan.com.br
require 'java'
@frame = javax.swing.JFrame.new "Old Way, using only SWING from Ruby"
@frame.add(@lbl1 = javax.swing.JLabel.new("Master Title"))
@frame.pack
@frame.visible = true
http://www.urubatan.com.br
JRuby on Rails – Acessando a infra estrutura Java já existente na empresa
Scripts Ruby para automação de tarefas acessando servidores de aplicação Java, EJBs, ...
http://www.urubatan.com.br
metodo1(); metodo2()
soma = 8\+ 5
soma = 8+ 5
http://www.urubatan.com.br
# Comentário de linha
=beginComentário em bloco=end
http://www.urubatan.com.br
123 # 123 4_123.45 # 4123.45 1.2e-3 # 0.0012 0xffff # hexadecimal 0b01011 # binário 0377 # octal ?a # valor em ASCII do caractere ?\C-a # Control-a ?\M-a # Meta-a ?\M-\C-a # Meta-Control-a
http://www.urubatan.com.br
„String sem interpolação‟
“String com interpolação #{variável}”
%q{String sem interpolação}
%Q{String com interpolação #{variável}}
<<_END_Here Doc com interpolação de #{variáveis}_END_
http://www.urubatan.com.br
1.nil? # false
nil.nil? # true
1.3.class # Float
1.is_a? Float # false
'0'.to_i + 1 # 1
Float.class # Class
http://www.urubatan.com.br
$var # variável global
@@var # Variáveis de classe
@var # Variáveis de instância
var # variáveis local
:var # símbolo
[OtherClass::]VAR # constante
http://www.urubatan.com.br
self # objeto dono do método corrente.
nil # objeto da classe NilClass semelhanteao null e responde como um false.
__FILE__ # nome do arquivo fonte atual.
__LINE__ # linha do arquivo fonte atual.
http://www.urubatan.com.br
hash = {1 => 'one', 2 => 'two', 3 => 'three'}
array = [„um‟, 2]
arayDeString = %w{um dois três 4}
nums = (0..9).to_a # num = [0, 1, 2, 3, 4, 5,6, 7, 8, 9]
http://www.urubatan.com.br
('A' .. 'Z').each { |char| puts char }
('A' .. 'Z').each_with_index { |char, index| puts ”#{char} at #{index}” }
5.times doputs 'hello'
end
http://www.urubatan.com.br
def metodo(primeiro = 1, segundo = [], terceiro = {})# implementação
end
class Abcdef initialize(param1)@param1 = param1endend
http://www.urubatan.com.br
def assert_equal(expected, actual)
if expected != actual
"FAILURE!“
else
"OK!“
end
end
http://www.urubatan.com.br
if <condition><statements>
elsif <condition><statements>
else<statements>
end
unless <condition><statement>
end
<expression> if <condition1><expression> unless <condition1>
http://www.urubatan.com.br
case foowhen <condition1><statements>
when <condition2><statements>
else<statements>
end
http://www.urubatan.com.br
begin
<statements>
rescue FooError => e
<statements>
rescue BazError => e2
<statements>
rescue
<statements>
end
http://www.urubatan.com.br
/expressão/
%r{expressão}
“teste” =~ /expressao/
http://www.urubatan.com.br
http://www.urubatan.com.br
http://www.ruby-lang.org
http://www.jruby.org
http://vitorpamplona.com/wiki/Ruby%20para
%20Programadores%20Java – Thanks!
http://www.gururs.org/
Profligacy