asp - asp.net - aspcode.it

COMMUNITY - Login
 Username:
 
 Password:
 
Voglio registrarmi!
Password dimenticata?
 Utenti on-line: 0
 Ospiti on-line: 3517
ASPCode.it - Store

  > > Tips

Scambiare il contenuto di due variabili
di Antonio Paterno

Data di pubblicazione: 25/10/2001        Voto della community: 0,00 (Votanti: 0)

I programmatori "storici" del Basic (come il sottoscritto) ricorderanno sicuramente come il GWBASIC mettesse a disposizione la funzione [Swap var1, var2] per scambiare il contenuto di due variabili ("swap" significa scambio).
Questa comodissima funzione scomparve poi misteriosamente con l'introduzione del Visual Basic (fu letteralmente "dimenticata" dalla Microsoft).
Naturalmente questa "mancanza" è stata tramandata fino al VBScript, con cui solitamente sviluppiamo le nostre pagine ASP.

Quindi dobbiamo crearci una funzione ad hoc (più corretto sarebbe dire "procedura").
Ecco la versione "classica", che fa uso di una variabile temporanea (altresì detta variabile d'appoggio):

<%
Sub Swap(a, b)
  Dim temp
  temp = a
  a = b
  b = temp
End Sub
%>

La versione seguente permette di eliminare la variabile d'appoggio, ma può usarsi soltanto con variabili di tipo numerico (sia di tipo intero che a virgola mobile):

<%
Sub Swap1(a, b)
  a = a + b
  b = a - b
  a = a - b
End Sub
%>

L'ultima versione che vi presento è quella che io considero più "elegante" ed è specificatamente ottimizzata per variabili di tipo numerico intero:

<%
Sub Swap2(a, b)
  a = a Xor b
  b = b Xor a
  a = a Xor b
End Sub
%>

Interessante ed educativa sarebbe una spiegazione di come la Swap2, tramite l'operatore logico XOR, effettui lo scambio. Ma questo andrebbe oltre lo scopo di questo articolo.




Utenti connessi: 3517