25
O básico para entender e escrever código ruby

Ruby para programadores java

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

Page 1: Ruby para programadores java

O básico para entender e escrever código ruby

Page 2: Ruby para programadores java

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.

Page 3: Ruby para programadores java

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!

Page 4: Ruby para programadores java

http://www.urubatan.com.br

Poder do Java, flexibilidade do Ruby!

Page 5: Ruby para programadores java

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

Page 6: Ruby para programadores java

http://www.urubatan.com.br

profligacy_test.rb

Page 7: Ruby para programadores java

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, ...

Page 8: Ruby para programadores java

http://www.urubatan.com.br

metodo1(); metodo2()

soma = 8\+ 5

soma = 8+ 5

Page 9: Ruby para programadores java

http://www.urubatan.com.br

# Comentário de linha

=beginComentário em bloco=end

Page 10: Ruby para programadores java

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

Page 11: Ruby para programadores java

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_

Page 12: Ruby para programadores java

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

Page 13: Ruby para programadores java

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

Page 14: Ruby para programadores java

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.

Page 15: Ruby para programadores java

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]

Page 16: Ruby para programadores java

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

Page 17: Ruby para programadores java

http://www.urubatan.com.br

do |param|...end

{|param| ... }

Page 18: Ruby para programadores java

http://www.urubatan.com.br

def metodo(primeiro = 1, segundo = [], terceiro = {})# implementação

end

class Abcdef initialize(param1)@param1 = param1endend

Page 19: Ruby para programadores java

http://www.urubatan.com.br

def assert_equal(expected, actual)

if expected != actual

"FAILURE!“

else

"OK!“

end

end

Page 20: Ruby para programadores java

http://www.urubatan.com.br

if <condition><statements>

elsif <condition><statements>

else<statements>

end

unless <condition><statement>

end

<expression> if <condition1><expression> unless <condition1>

Page 21: Ruby para programadores java

http://www.urubatan.com.br

case foowhen <condition1><statements>

when <condition2><statements>

else<statements>

end

Page 22: Ruby para programadores java

http://www.urubatan.com.br

begin

<statements>

rescue FooError => e

<statements>

rescue BazError => e2

<statements>

rescue

<statements>

end

Page 23: Ruby para programadores java

http://www.urubatan.com.br

/expressão/

%r{expressão}

“teste” =~ /expressao/

Page 24: Ruby para programadores java

http://www.urubatan.com.br