Post con tag Ruby

Fibonacci iterativo in Ruby

Il seguente algoritmo, sfruttando i blocchi e lo statement yield di Ruby, stampa i primi n numeri della successione di fibonacci, con n passato da linea di comando:

Continua >

Le classi in Ruby

Una classe in Ruby viene sempre definita utilizzando la parola chiave class:

class Auto
end

Istanziare un oggetto di una classe avviene utilizzando il metodo speciale initialize:

class Auto
  def initialize(marca, modello)
    @marca = marca
    @modello = modello
  end
end

auto = Auto.new("Lancia", "Y")

Continua >

Lettura di una password in Ruby

L’input di una password da console può essere effettuato in Ruby tramite highline.
La sua installazione può avvenire con RubyGems:

antonio@antonio-net:~/Desktop$ sudo gem install highline

Il suo utilizzo:

require "rubygems"
require "highline/import"

passwd = ask("Password: "){ |p| p.echo = false }
puts "La tua password: #{passwd}"
passwd = ask("Password: "){ |p| p.echo = "*" }
puts "La tua password: #{passwd}"

Nel primo caso, all’interno del blocco, indicando p.echo = false, non verranno mostrati i caratteri in input.
Nel secondo caso con p.echo = “*” verranno mostrati degli asterischi.

Il metodo inject di Ruby per gli Enumerable

Gli oggetti Enumerable possiedono il metodo inject, utilizzato per combinare i loro elementi applicando un blocco ad una accumulatore e ad ogni elemento.
Ad ogni passo, il valore di ritorno del blocco è assegnato all’acumulatore.

Il suo prototipo è:

enum.inject(initial) {| memo, obj | block }
enum.inject {| memo, obj | block }

Continua >

Gli oggetti numerici built-in di Ruby

Il Ruby ha cinque classi built-in per la rappesentazione dei numeri più tre classi della libreria standard.

Ruby Datatypes

Continua >