miércoles, 11 de junio de 2008

AndAlso en vbscript?????

AndAlso en vbscript?????

como ya varios saben , vbscript no tiene un "cortafuego" por defecto,
que la mayoria de los lenguajes tiene.

por ejemplo JAVA

persona = null;
if (persona != null && persona.nombre ="Victor"){


este codigo esta bien para Java, ya que si persona es nulo no evalua
la segunda Expresion, y por ende no se cae por un nullPointerExecepction.

Ahora vamos a nuestro querimo VbScript.
El mismo Ejemplo

Dim persona as persona = nothing
If not persona is nothing and persona.nombre ="Victor" then
End If


Este codigo lamentablemente se cae, por que apesar de que no se
cumple la primera expresion, igual evalua la segunda. de Esta Forma tenemos un
bonito nullPoinerException


como hay que hacerlo en VBScript.


Dim persona as persona = nothing
If not persona is nothing andAlso persona.nombre ="Victor" then
End If



De Esta forma con el AndAlso, le decimos al framework
que si la primera expresion no se cumple, no es necesario que evalue la segunda.

Dim persona as persona = nothing
If not persona is nothing andAlso persona.nombre ="Victor" then
End If


pregunta:
¿por que esto no vendra por defecto en Visual Basic Script?
creo que seria mas comodo si el and lo hiciera automaticamente.
por si alguien sabe.

--
Atte.
Victor Hugo Saavedra
http://vhspiceros.blogspot.com

2 comentarios:

  1. Supongo que será por mantener la compatibilidad hacia atrás.

    Por cierto, también existe OrElse, que es la version con cortocircuito del Or.

    ResponderEliminar
  2. pucha me jodiste el proximo post, jejejejejeje :)

    ResponderEliminar