my @s=<1 2 3 2 3 4>;
say reduce {$^a < $^b}, @s;
say [<] @s;
# --------
# True
# False
Моє запитання двояке: По-перше, чому метаоператор скорочення обробляє <
оператора інакше? Схоже, метаопція зменшення оцінюється за допомогою змінної, яка при першій зміні від істинного до помилкового зберігає цю зміну, оскільки:
say [\<] @s;
# ----------
# (True True True False False False)
По-друге, я також хотів би використовувати це всередині функції зменшення, тобто введення деякого коду всередині фігурних дужок функції зменшення, щоб він дав такий же результат, як мета оператор скорочення. Як я можу це зробити? Дякую.