#raku
#raku
Вопрос:
my sub e($r) { printf("%d, ", $_) for 1..$r}
say e(5);
возвращает 1, 2, 3, 4, 5, Nil
, то есть, sub
и / или say
последовательно добавляет ноль в конец.
Я впервые попробовал это, используя версию rakudo 2020.02. Сейчас я попробовал использовать последнюю версию 2020.12.1, и этот ноль все еще существует. Как от этого избавиться?
Ответ №1:
Nil
является возвращаемым значением sub e
.
Вы либо хотите
my sub e($r) { printf("%d, ", $_) for 1..$r}
e(5);
или
my sub e($r) { map { sprintf("%d, ", $_) }, 1..$r }
.say for e(5);