У меня есть функция, которую возвращает два 'array', но у него была трудность в распределении этих результатов в две переменные 'array'.
my (@A, @N) = volver_dos_arrays;
dd @A; # muestra lo que está dentro de @A (dd = "data dumper")
dd @N;
sub volver_dos_arrays
{
my @alfa = <A B C>;
my @num = 1, 2, 3;
return @alfa, @num;
}
Закончись следующим: в чем мы можем видеть, что первый 'array' сохранял два 'array', что он возвратил функцию:
Array @A = [["A", "B", "C"], [1, 2, 3]]
Array @N = []
Но, я хотел, чтобы это было так:
Array @A = ["A", "B", "C"]
Array @N = [1, 2, 3]
Я знаю, что следующее функционирует, но мне не нравится сохранять 'array' в 'scalar'. Я не хочу изменить печать @A
ни @N
.
my ($A, $N) = volver_dos_arrays;
dd $A;
dd $N;
sub volver_dos_arrays
{
my @alpha = <A B C>;
my @num = 1, 2, 3;
return @alpha, @num;
}
Как я могу делать это, не меняя печатей?
Я изучил, как делать это, но я все еще задаю вопрос, потому что он озадачил меня из-за пары часов. Я делаю ответ, если никто не дает ответ, сходный с тем, что я проверил.
Только я нашел ее soluciГіn "binding":
my (@A, @N) := volver_dos_arrays();