12
Carlos E. V. Matos Fernando L. Caretti

Carlos E. V. Matos Fernando L. Caretti

  • Upload
    eliot

  • View
    29

  • Download
    0

Embed Size (px)

DESCRIPTION

Carlos E. V. Matos Fernando L. Caretti. Desenvolvida por Yukihiro Matsumoto, no Japão , início da década de 90. Lançada oficialmente em 1995. Multi-plataforma, orientada a objetos, interpretada e de propósito geral. - PowerPoint PPT Presentation

Citation preview

Page 1: Carlos E. V. Matos Fernando L. Caretti

Carlos E. V. MatosFernando L. Caretti

Page 2: Carlos E. V. Matos Fernando L. Caretti

Desenvolvida por Yukihiro Matsumoto, no Japão, início da década

de 90. Lançada oficialmente em

1995. Multi-plataforma, orientada a objetos,

interpretada e de propósito geral.

Page 3: Carlos E. V. Matos Fernando L. Caretti

A sintaxe de Ruby incorpora elementos de várias outras linguagens, principalmente Perl e Smalltalk.

Por ser interpretada, não há necessidade de declaração de tipos de variáveis.

Variáveis não são associadas a um tipo em particular, até o momento da execução. Não há compilação prévia.

Page 4: Carlos E. V. Matos Fernando L. Caretti

Criada com o objetivo de oferecer um equilíbrio entre as programações funcional e imperativa.

Multi-plataforma através do YARV, a “máquina virtual” de Ruby.

Tudo o que se manipula em Ruby são objetos, e os resultados destas manipulações são objetos.

Page 5: Carlos E. V. Matos Fernando L. Caretti

Exemplo de implementação de classe:

class Filme def initialize(nome, ano, diretor) nome = nome ano = ano diretor = diretor endend

Page 6: Carlos E. V. Matos Fernando L. Caretti

Exemplo de criação de objetos:

filme1 = Filme.new("Apocalypse Now”, 1979,

“Francis Ford Coppola”)

filme2 = Filme.new("Three Days of the Condor", 1975, “Sydney Pollack”)

Declaração de 2 objetos Filme, como na classe anterior. Note que não foi declarado um tipo de variável antes. O código é interpretado no tempo de execução, alocando a memória correta para o tipo requisitado.

Page 7: Carlos E. V. Matos Fernando L. Caretti

Exemplo de definição de métodos:def saudacoes(nome)

puts "olá #{nome}"

end

saudacoes("Maria")

Saída do código: olá Maria

Page 8: Carlos E. V. Matos Fernando L. Caretti

Outras curiosidades sobre Ruby:

→ Ruby possui classes abertas.

→ Não possui suporte à herança múltipla. Ao invés disso, usa módulos, ou “mixins”, para emular.

→ As funções get e set, por exemplo, possuem substitutos mais práticos como o attr_accessor :atributo, que desempenha as duas funções.

→ Todos os atributos são objetos, portanto:

int i = Math.abs(-1992) // Java

i = -1992.abs # Ruby

Page 9: Carlos E. V. Matos Fernando L. Caretti

Tela do RPG Maker VX, com o utensílio de edição de scripts em linguagem Ruby.

Page 10: Carlos E. V. Matos Fernando L. Caretti

Exemplo de aplicação Web desenvolvida com Ruby on Rails

Page 11: Carlos E. V. Matos Fernando L. Caretti

“Often people, especially computer engineers, focus on the machines. They think, "By doing this, the machine will run faster. By doing this, the machine will run more effectively. By doing this, the machine will something something something." They are focusing on machines. But in fact we need to focus on humans, on how humans care about doing programming or operating the application of the machines. We are the masters. They are the slaves.”

Yukihiro Matsumoto

Page 12: Carlos E. V. Matos Fernando L. Caretti

Referências:Programming Ruby: The Pragmatic Programmer´s Guide → David Thomas,

Andrew Hunt; 2001 v1.0

The Book of Ruby → Huw Collingbourne, 2008, Dark Leon Ltd.

website Ruby Brasil → ruby-br.org

website Ruby, a Programmer´s Best Friend → ruby-lang.org/en/

website RGSS - Ruby Game Scripting System → rgss.com.br/rgss/index.html