Difference between revisions of "Default parameter/es"

From Lazarus wiki
Jump to navigationJump to search
 
Line 7: Line 7:
 
== Ejemplo SumarEnteros==
 
== Ejemplo SumarEnteros==
  
<syntaxhighlight>
+
<syntaxhighlight lang=pascal>
 
function SumarEnteros ( a, b : integer; c : integer = 0; d : integer = 7 ) : integer;
 
function SumarEnteros ( a, b : integer; c : integer = 0; d : integer = 7 ) : integer;
 
begin
 
begin
Line 17: Line 17:
 
Formas correctas de uso de la función SumarEnteros y sus retultados:
 
Formas correctas de uso de la función SumarEnteros y sus retultados:
  
<syntaxhighlight>
+
<syntaxhighlight lang=pascal>
 
SumarEnteros ( 0, 1)        // 0 + 1 + 0 +  7 =  8
 
SumarEnteros ( 0, 1)        // 0 + 1 + 0 +  7 =  8
 
SumarEnteros ( 0, 1, 3)    // 0 + 1 + 3 +  7 = 11
 
SumarEnteros ( 0, 1, 3)    // 0 + 1 + 3 +  7 = 11
Line 26: Line 26:
 
Formas incorrectas de uso de la función SumarEnteros que ocacionarán un error:
 
Formas incorrectas de uso de la función SumarEnteros que ocacionarán un error:
  
<syntaxhighlight>
+
<syntaxhighlight lang=pascal>
 
SumarEnteros ( 0, 1, , 9) // si se ingora el primer parámetro con valor predeterminado, deben también ignorarse los restantes (izquierda a derecha)
 
SumarEnteros ( 0, 1, , 9) // si se ingora el primer parámetro con valor predeterminado, deben también ignorarse los restantes (izquierda a derecha)
 
</syntaxhighlight>
 
</syntaxhighlight>
Line 32: Line 32:
 
Forma incorrecta de declarar una función con parámetros predeterminados:
 
Forma incorrecta de declarar una función con parámetros predeterminados:
  
<syntaxhighlight>
+
<syntaxhighlight lang=pascal>
 
Function SumarEnteros ( a, b : integer; c: integer = 0; d : integer = 7; e : integer) : integer;
 
Function SumarEnteros ( a, b : integer; c: integer = 0; d : integer = 7; e : integer) : integer;
 
// a la derecha de un parámetro con valor predeterminado, solo debe declararse otro parámetro con valor predeterminado.
 
// a la derecha de un parámetro con valor predeterminado, solo debe declararse otro parámetro con valor predeterminado.
 
</syntaxhighlight>
 
</syntaxhighlight>

Latest revision as of 02:23, 31 January 2020

Deutsch (de) English (en) español (es) suomi (fi) français (fr) polski (pl) русский (ru)

Un parámetro predeterminado, también conocido como argumento opcional (o argumento predeterminado) es un parámetro de una función o procedimiento que tiene un valor predeterminado proporcionado. Si se llama a la función o procedimiento sin proporcionar un valor para este parámetro, se usará el valor por defecto (default). Si, en cambio, se proporciona un valor para dicho parámetro, se utilizará ese valor, ignorando el valor predeterminado. Se utiliza frecuentemente para extender una función o procedimiento existente agregando algunos parámetros que tienen valor por defecto en lugar de escribir un método idéntico con parámetros diferentes.

Los parámetros con valor predeterminado deben ubicarse lo más a la derecha posible dentro del conjunto de parámetros, es decir, luego de declarar un parámetro con valor predeterminado, no se puede declarar otro parámetro sin valor predeterminado. También hay que tener en cuenta que para llamar a una función o procedimiento ignorando los parámetros con valor predeterminado, debe hacerse de izquierda a derecha, de modo que si se invoca a una función que tiene sus últimos 3 parámetros con valores predeterminados ignorando el primero de estos 3 parámetros, también deben ignorarse los restantes.

Ejemplo SumarEnteros

function SumarEnteros ( a, b : integer; c : integer = 0; d : integer = 7 ) : integer;
begin
  Result := a + b + c + d;
end;

Formas correctas de uso de la función SumarEnteros y sus retultados:

SumarEnteros ( 0, 1)        // 0 + 1 + 0 +  7 =  8
SumarEnteros ( 0, 1, 3)     // 0 + 1 + 3 +  7 = 11
SumarEnteros ( 0, 1, 3, 10) // 0 + 1 + 3 + 10 = 14

Formas incorrectas de uso de la función SumarEnteros que ocacionarán un error:

SumarEnteros ( 0, 1, , 9) // si se ingora el primer parámetro con valor predeterminado, deben también ignorarse los restantes (izquierda a derecha)

Forma incorrecta de declarar una función con parámetros predeterminados:

Function SumarEnteros ( a, b : integer; c: integer = 0; d : integer = 7; e : integer) : integer;
// a la derecha de un parámetro con valor predeterminado, solo debe declararse otro parámetro con valor predeterminado.