Archivio del febbraio 2010

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 >

La classe WEnvironment di Wt

La classe WEnvironment della libreria Wt è utilizzata per ottenere informazioni sull’ambiente dell’applicazione e permette di ottenere informazioni sul client.

Continua >

Java: le variabili final

Dichiarare una variabile final vuol dire rendere impossibile la reinizializzazione dopo che la variabile è stata inizializzata con un valore esplicito.

Continua >

Accesso alle classi in Java

In Java esistono due modalità di accesso alle classi: accesso Default e accesso Public.
Sebbene siano due i modi di accesso, esiste una sola parola chiave per indicare il modificatore di accesso. La keyword è public e indica l’accesso pubblico. Se nessuna keyword è specificata, verrà utilizzato l’accesso default.

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.

Informazioni sul brower dell’utente

L’oggetto navigator, in Javascript, contiene le informazioni riguardanti il browser dell’utente.
Il seguente script mostra all’utente le informazioni essenziali riguardo il suo browser (l’esempio è accessibile qui):

<script type="text/javascript">
  document.write("<h1>Navigator Info</h1>");

  document.write("<p>User-Agent: " + navigator.userAgent + "</p>");
  document.write("<p>Applicazione: " + navigator.appName + " " +
    navigator.appVersion + "</p>");
  document.write("<p>Sistema Operativo: " + navigator.platform + "</p>");
  document.write("<p>Cookie Abilitati: " +
    navigator.cookieEnabled + "</p>");
</script>

Input di dati user friendly

La pagina che segue mostra, un form che richiede il nome e il cognome di un utente.
Le caselle di testo saranno inizialmente piene, e indicheranno l’azione da eseguire. Quando l’utente clicca su una di esse, tutto il testo verrà selezionato facendo si che al primo tasto in input, il testo scomparirà.
Se l’utente lascia la casella di testo vuota, essa verrà riempita di nuovo con il testo iniziale:

Continua >

C++ e MySQL

Connettersi a MySQL tramite un programma scritto in C++ è possibile utilizzando i driver messi a disposizione sul sito di MySQL.
Essi sono scaricabili da qui: http://www.mysql.com/products/connector/.

Continua >

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 >

Il Named Constructor Idiom in C++

Il Named Constructor Idiom è un idioma che prevede l’utilizzo di un insieme di metodi statici, al posto dei costruttori, per creare un oggetto di una data classe. Tali metodi sono detti named constructor.
Viene vietata la creazione di un oggetto con i costruttori rendendo questi ultimi protetto o privati.

Continua >