Diferencia entre revisiones de «Programación en Vala/Conceptos básicos del lenguaje»

Contenido eliminado Contenido añadido
Sigmar (discusión | contribs.)
Sigmar (discusión | contribs.)
Línea 642:
void metodo(int x, string s = "hola", double z = 0.5) { }
</source>
 
Este método definido podría ser llamado de alguna de las siguientes formas:
 
<source lang=csharp>
metodo(2);
metodo(2, "¿que tal?");
metodo(2, "¿que tal?", 0.75);
</source>
 
Es posible incluso definir métodos con un número de parámetros indefinidos y variable usando '''varargs''' como el método '''stdout.printf'''. Esta técnica se explicará más adelante.
 
Vala realiza una comprobación básica para comprobar que los parámetros (y el valor de vuelta) son nulos o no. Los parámetros (o valor de vuelta) que se definen con el símbolo '''?''' postfijo al nombre de la variable se les permite que sean nulos ('''null'''). Esta información ayuda al compilador a realizar comprobaciones estáticas y a añadir comprobaciones en tiempo de ejecución en las precondiciones de los métodos, los cuáles pueden ayudar a anular errores relacionados con las referencias nulas.
 
 
<source lang=csharp>
string? method_name(string? text, Foo? foo, Bar bar) {
// ...
}
</source>
 
En este ejemplo, '''foo''' y el valor de vuelta puede ser '''null''', sin embargo, '''bar''' no debe ser '''null'''.
 
=== Métodos delegados ===