Kurso de Raku / Funkcia, samtempa, reaktiva kaj reta programado / Funkcia programado / Redukto
La metaoperatoro de redukto
Envolvu ajnan infiksan operatoron en rektajn krampojn kaj ĝi fariĝas redukto: ĝi estas enmetata inter ĉiun elementon de listo, kunfaldante la liston al unu valoro.
say [+] 1, 2, 3, 4, 5; # 15
say [*] 1, 2, 3, 4, 5; # 120[+] sumigas la liston kvazaŭ vi estus skribinta
1 + 2 + 3 + 4 + 5; [*] multiplikas ĝin. La
samo funkcias kun ajna infiksa operatoro:
say [max] 4, 9, 2, 7; # 9
say [min] 4, 9, 2, 7; # 2
say [~] 'a', 'b', 'c'; # abc[max] reduktas per la operatoro max por
trovi la plej grandan elementon, kaj [~] reduktas per la
ĉenkuniga operatoro ~ por glui la pecojn kune.
La redukta metaoperatoro funkcias sur ajna listo, inkluzive de intervalo:
say [+] 1..100; # 5050Ĝi estas unu el la plej kompaktaj kaj esprimplenaj ecoj de Raku: tuta buklo da akumulado en paro da krampoj.
Praktiko
Vin atendas 1 kvizo pri la enhavo de ĉi tiu temo.
Kursa navigado
← Redukto | Kvizo — La metaoperatoro de redukto →
💪 Aŭ iru rekte al la ekzercoj de ĉi tiu
sekcio.