Java –> Scheme
AVVISO! Le informazioni di questo post potrebbero non essere più valide in quanto non aggiornate. Usa i commenti per contribuire a tenere il post aggiornato.
ULTIMA REVISIONE DEL POST: 24/04/2014
Vediamo ora le differenze tra la programmazione in Scheme e Java; partiamo da una funzione semplice semplice che permette il reverse di una stringa (alfanumerica) e la vedremo nei vari linguaggi di programmazione:
1) In Scheme:
(define revi (lambda (txt) (if (= (string-length txt) 0) txt (string-append (string (string-ref txt (- (string-length txt) 1))) (revi (substring txt 0 (- (string-length txt) 1)))) ) ))
Il concetto di base della funzione è la RICORSIONE, cioè richiamo la stessa funzione fino al termine del caso base.
2) Vediamo la stessa ricorsione in Java:
class rev { public static String revi (String parola) { int k = parola.length(); if (k < 1) return parola; else { parola = parola.charAt(k-1) + rev.revi (parola.substring (0, k-1)); } return parola; } }
3) Vediamo la stessa funzione in Java con un ciclo:
class ribalta {
public static String ribalto (String testo)
{
int rigth ;
rigth = testo.length();
StringBuffer dest = new StringBuffer(rigth);
for (int index = (rigth -1); index >= 0; index--)
dest.append(testo.charAt(index));
return dest.toString();
}
}