120 likes | 262 Views
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.
E N D
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.
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.
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.
Exemplo de implementação de classe: class Filme def initialize(nome, ano, diretor) nome = nome ano = ano diretor = diretor end end
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.
Exemplo de definição de métodos: def saudacoes(nome) puts "olá #{nome}" end saudacoes("Maria") • Saída do código: olá Maria
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
Tela do RPG Maker VX, com o utensílio de edição de scripts em linguagem Ruby.
“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
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