Archivio del giugno 2010

Definire una classe in Javascript

La definizione di una classe in Javascript avviene utilizzando una funzione come template.
Le classi possono contenere sia proprietà che metodi.
Le proprietà vengono specificate utilizzando la parola chiave this.
I metodi possono essere aggiunto all’oggetto prototype della Function (o si può assegnare ad una proprietà una funzione).
Consideriamo ad esempio l’oggetto Person:

function Person(firstname, lastname) {
	this.firstname = firstname;
	this.lastname = lastname;
}

Person.prototype.formattedName = function() {
	return this.firstname + " " + this.lastname;
};

Tale classe contiene le proprietà firstname e lastname, più il metodo formattedName, aggiunto nel prototipo della function (Prototype-based programming)

Continua >

Java e Google API: ottenere la lista dei 10 video più votati di Youtube

Il codice che segue mostra come ottenere i 10 video maggiormente votati di Youtube al momento. Per ulteriori informazioni sull’utilizzo delle API si può consultare il sito http://code.google.com/intl/it-IT/apis/youtube/overview.html.

Continua >

Java: il costrutto for-each

Il costrutto for-each di Java ha la seguente forma:

for-each(T var : iterableObj) statement

In questo modo è possibile iterare all’interno di un oggetto iterabile evitando l’utilizzo di iteratori, pur non avendo a disposizione le molteplici funzionalità che essi offrono

Il suo utilizzo è semplicissimo:

package test1;

public class Main
{
    public static void main(String[] args)
    {
        Integer[] list = new Integer[10];
        for(int i = 0; i < 10; i++)
        {
            list[i] = i*i;
        }

        for(Integer i : list)
        {
            System.out.println(i);
        }
    }
}

Continua >

Breve tutorial sull’editor VIM

VI è un editor di testo, disponibile su diverse piattaforme Unix-like, estremamente flessibile, nonstante la sua complessità. Per questo tutorial verrà utilizzato VI Imporved, un editor in gran parte compatibile con VI.

Continua >

C/C++: generazione di un numero pseudo-random

L’header stdlib.h (cstdlib in C++), contiene al suo interno la funzione:

int rand(void)

che permette la generazione di un numero random, compreso tra 0 e RAND_MAX, che dipende da un seme, definibile attraverso la funzione:

void srand ( unsigned int seed );

Continua >

C/C++: aggiornamento della percentuale di progresso con il carattere backspace

Sebbene il C/C++ non fornisca strumenti (perlomeno portabili) per la gestione della console, possiamo utilizzare il carattere ‘\b’ di backspace per cancellare qualcosa scritto precedentemente e per scriverci di nuovo. Questo può essere utile nella gestione del progresso di un task, ad esempio, mediante la stampa della percentuale.
In questo esempio mostreremo come sovrascrivere la vecchia percentuale stampata a favore della corrente:

Continua >

Effettuare un lavoro periodico con la classe Timer del C#

La classe System.Timers.Timer consente di eseguire, periodicamente, un metodo scelto.
Il suo utilizzo è abbastanza semplice:

using System;
using System.Timers;

namespace test
{
	class MainClass
	{
		private static int toDelete = 0;

		public static void Main (string[] args)
		{
			Console.WriteLine(
				">> Esempio Timer << " +
			    "[premi un tasto per terminare]");

			Timer timer = new Timer();
			timer.Interval = 1000.0;
			timer.Elapsed += new ElapsedEventHandler(TimerEvent);
			timer.Enabled = true;

			Console.Read();
			timer.Enabled = false;
			Console.WriteLine("\nFine");
		}

		public static void TimerEvent(Object sender, ElapsedEventArgs e)
		{

			String timestamp = e.SignalTime.ToString();

			for(int i=0; i < toDelete; i++)
			{
				Console.Write("\b");
			}

			toDelete = timestamp.Length;
			Console.Write(timestamp);
		}
	}
}