Ir al contenido principal

Funciones (guía rápida)

PseudoD, como otros lenguajes de programación, implementa las clases y funciones. Veamos las funciones como código encerrado en un contexto, que permite su re-utilización por cualquier otro código:
utilizar entsal.pseudo

funcion SaludarA [ Saluda a alguien o algo ]
    adquirir nombre [ A quién saludar ]
    recibir_parametro nombre [ Recibimos el parámetro ]
    llamar ImprimirFormato
        {¡Hola %!\k}
        nombre
    finargs
    liberar nombre [ No olvidemos liberar la memoria ]
finfun

[ Ahora podemos utilizar la funcion ]
llamar SaludarA {Mundo} finargs [ ¡Hola Mundo! ]
llamar SaludarA {Foo} finargs [ ¡Hola Foo! ]
llamar SaludarA {John Doe} finargs [ ¡Hola John Doe! ]
Nos ahorramos escribir tres(3) veces <llamar ImprimirFormato ...>, claro, esto no es mucho, las funciones son más útiles cuando se van a llamar cientos de veces y poseen cientos de líneas de código.

La función <ImprimirFormato> está definida en la cabecera <entsal.pseudo> de la BEPD, y su declaración es similar a la siguiente:

funcion ImprimirFormato [ cadena, argumentos... ]
  • cadena es la cadena a formatear.
  • los argumentos son la lista de argumentos para el reemplazo.
Durante la impresión, cada aparición del texto <%> (comodín) será reemplazado por el siguiente argumento, y cada aparición de <\r>, <\n> y <\k> serán reemplazados por los caracteres retorno de carro, nueva linea y nueva linea del sistema respectivamente.

La nueva linea del sistema es una secuencia de caracteres que, indiferentemente del sistema del que se trabaje, siembre desplazará la linea, es decir: automáticamente un \r, \n o \r\n.

Una declaración de función es de la forma:

funcion nombre-de-la-funcion-o-metodo
código de la función
finfun

Cabe resaltar que en la linea de cierre de función, nunca debe haber algo mas que espacios en blanco y la palabra finfun. Puede recibir parámetros con la palabra clave recibir_parametro y devolver valores con devolver.

Nota: La sentencia devolver no rompe el flujo del programa, esto es, cualquier sentencia después de la instrucción devolver aún serán ejecutadas.

 Desde PseudoD v2.0.0 puedes reutilizar nombres de variables (desde PseudoD v2.0.0 se soportan ámbitos), así que declarar funciones nunca fue tan fácil.
 

Comentarios

Entradas más populares de este blog

Punteros y referencias

 PseudoD hace énfasis en las diferencias entre punteros y referencias. Este articulo esta dedicado a mostrar y explicar estas diferencias (incluye ejemplos). Para comenzar, vamos a asumir que al inicio de todos los ejemplos de ejecutó el siguiente código: adquirir variable1 adquirir variable2 adquirir variable3 ¿Muy sencillo no? luego de esto, la memoria de PseudoD queda similar a: Memoria después de tres adquisiciones de memoria Claro, esto es ignorando las variables de la BEPD y del núcleo las cuales, en PseudoD 1.9.5 (no pro bado en versiones recientes) er an de , aproximadamente, ~526 bloques (esto incluyen d o toda la BEPD, nosotros solo utilizaremos lo autoincl uido ). Primero: ¿Que es un puntero? Un puntero (se cción no-normativa , válida solo en PseudoD ) es un bloque de memoria que en vez de poseer un valor propio (como variable1 posee {Hola} en la imagen superior) posee un índice de acceso rápido a otra variable, por ende, cada vez que se acceda al punt

Futuro PseudoD 2.2.0

La futura versión de PseudoD, PseudoD 2.2.0 tendrá cambios fundamentales en la estructura del lenguaje, más estos cambios serán compatibles con versiones anteriores, de manera que no romperán con la estructura de ningún programa existente. Los cambios son: Resolución de nombres Ahora usar referencias es más cómodo que nunca con la resolución de nombres de PseudoD 2.2.0: adquirir var fijar var a {Hola Mundo} adquirir ref fijar ref a var#NOMBRE escribir <ref> Este código imprime en pantalla el texto "Hola Mundo". Mejor sintaxis para las clases y funciones clase Persona hereda Objeto implementa @Saludable atributo nombre puntero padre puntero madre metodo saludar finclase metodo Persona#saludar con yo y nombre escribir {Hola } escribir nombre escribir {, yo soy } escribir <yo>#nombre nl finmetodo Reestructuración de la BEPD parte 1/2 Ahora la BEPD posee una mejor estrucutra y nuevas funciones.

Paginas oficiales

Como primera entrada, voy a dejar una lista de enlaces a las páginas oficiales de PseudoD: http://www.pseudod.com : página oficial de PseudoD. http://www.pseudod.com/wiki/ : wiki oficial de PseudoD. http://www.pseudod.sourceforge.net/ : página de desarrolladores. http://www.sourceforge.net/p/pseudod : proyecto en sourceforge. http://www.github.com/alinarezrangel/pseudod : proyecto en github. En estas páginas se encuentra gran parte de la documentación del lenguaje.