-
Recent Posts
Recent Comments
Tags
$HOME alias ano AppleScript argv array bc biblioteca C clipboard comando copy CPP curdate cálculo daemon dia error execução foreach gcc IP JavaScript LaTeX memória MySQL mês número números objeto paste perímetro PHP pi posix Python Shell stdout strings tabela Tcl-Tk Tcl/Tk terminal variável área de transferênciaArchives
Livros da equipe do CODARE
Expressões Regulares
Uma Abordagem Divertida
de Aurélio Marinho Jargas
Shell Script Profissional
de Aurélio Marinho Jargas
PHP-GTK 2ª Edição
de Pablo Dall'Oglio
PHP Programando com Orientação a Objetos
de Pablo Dall'Oglio
Ruby: Conhecendo a Linguagem
de Eustáquio Rangel (TaQ)
Category Archives: Ruby
Ruby: Obter o código-fonte de um método
Palavras-chave: Ruby, código fonte, ruby2ruby Podemos obter o código de um método como uma String usando a gem ruby2ruby: require “rubygems” require “ruby2ruby” class Teste def metodo puts “oi!” end end teste = Teste.new metodo = teste.method(:metodo) puts metodo.to_ruby Rodando … Continue reading
Posted in Ruby
8 Comments
Ruby: Contar valores em um array
Palavras-chave: Ruby, array Para contar a frequência com que os valores de um array se repetem, podemos utilizar: array = %w(morango abacaxi banana morango pera morango abacate banana) p array.inject(Hash.new(0)) {|memo,value| memo[value] += 1; memo} Será retornada uma hash com … Continue reading
Posted in Ruby
Leave a comment
Ruby: Dividir um array em arrays menores
Palavras-chave: Ruby, array, divide Suponha que você tenha um array de X elementos e precise dividi-lo em arrays com Y elementos cada. A flexibilidade de Ruby nos permite definir operadores novos para as classes, então vamos criar um operador de … Continue reading
Posted in Ruby
9 Comments
Ruby: Obter o nome do método atual
Palavras-chave: Ruby, método, nome, corrente, method, current Se você quiser saber o nome do método onde se encontra, terá que criar um outro método que quando chamado descubra o nome do método que o chamou. Assim: class MinhaClasse def self.nome_do_metodo … Continue reading
Posted in Ruby
Leave a comment
Ruby: Obter o valor de um Fixnum pelo seu object_id
Palavras-chave: Ruby, Fixnum, object_id Uma jogada legal com objetos do tipo Fixnum em Ruby é descobrir o valor do objeto através do seu object_id, fazendo um simples deslocamento binário: n = 123456 n.object_id >> 1 => 123456 Veja outra dica … Continue reading
Posted in Ruby
Leave a comment
Ruby: Revelar objetos Fixnum pelo seu object_id
Palavras-chave: Ruby, Fixnum, object_id Em Ruby podemos facilmente verificar se um objeto é da classe Fixnum através do seu object_id (os números podem variar): s = “oi” s.object_id => -605527578 n = 123456 n.object_id => 246913 s.object_id & 0×1 => … Continue reading
Posted in Ruby
3 Comments
Ruby: Converter array em hash
Palavras-chave: ruby, array, hash, splat Podemos converter facilmente um array com um número de elementos pares para uma hash da seguinte maneira: array = %w(um 1 dois 2 tres 3) hash = Hash[*array] p hash Executando o código: {“tres”=>”3″, “um”=>”1″, … Continue reading
Posted in Ruby
Leave a comment
Ruby: Criando hashes com valores default
Palavras-chave: Ruby, hash, default, blocos Em Ruby podemos permitir que um valor default seja retornado na tentativa de acesso à um elemento que não existe ainda em uma hash, dessa maneira: hash = Hash.new(0) puts hash["abobora"] 0 puts hash["batata"] 0 … Continue reading
Posted in Ruby
Leave a comment
Ruby: Objetos com id negativo (object_id)
Palavras-chave: object_id, negativo, __id__ Em Ruby, bem como em outras linguagens que trabalham orientadas a objetos, existe o conceito do ObjectID (ou id de objeto), que nada mais é do que uma identificação única para um objeto instanciado dentro de … Continue reading
Posted in Ruby
5 Comments
Ruby: Executando um bloco no contexto do objeto
Palavras-chave: ruby, bloco, objeto, contexto Um meio de executar um bloco dentro do contexto de um determinado objeto é adicionar um método direto no módulo Kernel do Ruby. Ele aceitará ser chamado diretamente como método do objeto ou passando o … Continue reading
Posted in Ruby
2 Comments