Difference between revisions of "Default parameter/es"

From Lazarus wiki
Jump to navigationJump to search
(Created page with "{{Default parameter}} Un parámetro predeterminado, también conocido como argumento opcional (o argumento predeterminado) es un parámetro de una función o procedimiento qu...")
 
Line 8: Line 8:
  
 
<syntaxhighlight>
 
<syntaxhighlight>
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
   result := a+b+c+d;
+
   Result := a + b + c + d;
 
end;  
 
end;  
  
Line 18: Line 18:
  
 
<syntaxhighlight>
 
<syntaxhighlight>
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
SumarEnteros ( 0, 1 , 3 , 10) // 0+1+3+10 = 14
+
SumarEnteros ( 0, 1, 3, 10) // 0 + 1 + 3 + 10 = 14
  
 
</syntaxhighlight>
 
</syntaxhighlight>
Line 28: Line 28:
 
<syntaxhighlight>
 
<syntaxhighlight>
 
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 34: Line 33:
  
 
<syntaxhighlight>
 
<syntaxhighlight>
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>

Revision as of 23:52, 18 February 2018

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.