Subrutinas y @_ en Perl
La convención clásica de llamada: cada argumento llega en un arreglo plano llamado @_.
use strict;
use warnings;
sub greet {
my ($name, $greeting) = @_;
$greeting //= "Hello";
return "$greeting, $name!";
}
sub total {
my $sum = 0;
$sum += $_ for @_;
return $sum;
}
print greet("Ada"), "\n";
print greet("Grace", "Welcome"), "\n";
print total(2, 3, 5), "\n";
Cómo funciona
greetdesempaca@_en léxicas con nombre;//=pone un valor por defecto si no llegó saludo.totalnunca desempaca — recorre@_directo, así que acepta cualquier número de argumentos.- Llama con uno o dos argumentos; la subrutina decide qué significan los extra.
Palabras clave y builtins usados aquí
formyprintreturnsubuse
El intento, en números
- Líneas
- 18
- Caracteres a escribir
- 273
- Tokens
- 84
- Ritmo de tres estrellas
- 75 tpm
Al ritmo de tres estrellas de 75 tokens por minuto, este intento toma unos 67 segundos.
Paso 1 de 3 en Subrutinas; paso 16 de 27 en Fundamentos del lenguaje.