¿Eres programador en ASP y te encuentras buscando información sobre funciones y subrutinas? Entonces llegaste al lugar indicado. En este artículo te hablaremos sobre las funciones y subrutinas en ASP, qué son y cómo funcionan. Además, te daremos algunos ejemplos prácticos para que puedas aplicar esta información en tus proyectos. ¡No te lo pierdas!
Una de las características más poderosas de cualquier lenguaje de programación es la capacidad de procedimientos. En lugar de tener todo su código en un formato secuencial, es más eficiente dividirlo en bloques manejables.
Cada bloque de código se usa típicamente para procesar un problema en particular. Estos bloques de código también se conocen como Procedimientos. En general, existen dos tipos de procedimientos: Funciones y subrutinas.
Funciones
Una función es un procedimiento que devoluciones un valor de vuelta a la persona que llama. El «llamador» es desde donde se invocó el procedimiento. Las funciones se crean (declaran) usando el Function
declaración y terminó con un End Function
declaración.
<%
Function Area(l,w)
Area = l * w
End Function
%>
En el ejemplo anterior, tenemos un ejemplo de una función que acepta dos parámetros (Más sobre los parámetros a continuación). Esta función toma ambos parámetros, los multiplica y devuelve los resultados al proceso de llamada.
Si bien esta función devuelve datos, hay Sin requisitos para que esto ocurra. Puede declarar esta función en cualquier lugar de su página web y estará disponible para que la llame desde cualquier lugar dentro de la página.
subrutinas
Una subrutina es un procedimiento que no regresa un valor para la persona que llama. Las subrutinas se declaran usando el Sub
declaración y terminó con un End Sub
declaración.
<%
Sub ShowDate
Response.Write("Today's Date is: ")
Response.Write(Now())
End Sub
%>
En este ejemplo, tenemos una subrutina que simplemente escribirá la cadena y la información de fecha/hora actual en la pantalla. A diferencia de la función, no se devuelve ningún valor al proceso de llamada. una subrutina puede o puede que no tienen parámetros pasados.
Parámetros
Un parámetro es un valor ASP que es pasó al procedimiento con el propósito de completar una tarea. Los parámetros se pueden pasar ByVal
(por valor) o ByRef
(por referencia). Si pasa el parámetro por valor, cualquier cambio en el parámetro dentro del procedimiento, se no ser reflejado en el argumento original.
Si pasas tu parámetro ByRef
entonces cualquier cambio en el parámetro actualiza el argumento original. Si desea pasar sus parámetros ByRef
debe incluir el Call
instrucción, al llamar al procedimiento.
<%
Function ProcName (var)
' If the calling process omits "Call", then the parameter is
' passed ByVal. If the keyword "Call" is included, the parameter
' is passed ByRef.
End
Sub ProcName(ByRef var)
' Calling process must specify the keyword "Call"
var = new value, but also updates value of the originating parameter
End Sub
Function ProcName (ByVal var)
' Calling process may specify or omit the keword "Call"
var = some new value
End Function
%>
Procedimientos de llamada
Al invocar una función o subrutina, debe tener en cuenta las diferentes convenciones de llamadas utilizado para cada uno. Si usted no utilice las convenciones de llamadas adecuadas, puede obtener resultados inesperados (ByVal
contra ByRef
). Generalmente, cuando llama a una función oa un procedimiento, encierra los parámetros entre paréntesis.
Si está pasando datos de cadena, encerrar la cadena dentro citas. Si está pasando varios parámetros, separado los parámetros usando comas. Usa la palabra clave Call
especialmente si está pasando parámetros a través de ByRef
.
' Call a function, results are assigned to variable, myArea.
myArea = area(4,3)
' Ignore the results from the funtion, or
' call a subroutine
area(4,3)
' if passing ByRef, firstName and lastName will be
' updated if new values are assigned in the procedure.
Call fullName(firstName,lastName)