Kurso de Raku / Funkcia, samtempa, reaktiva kaj reta programado / Funkcia programado / Altordaj funkcioj / Redoni subprogramojn
Kvizo — Altordaj funkcioj
Kion presas la jena programo?
sub prefixer($p) {
sub ($s) { $p ~ $s };
}
my &hi = prefixer('Hi, ');
say hi('Bob');| 1 | Hi, Bob |
| 0 | Bob |
| 0 | Hi, |
| 0 | Hi, Hi, |
prefixer('Hi, ') redonas subprogramon, kiu memoras la
prefikson kaj antaŭmetas ĝin al kio ajn estas donita al ĝi. Konservita
en &hi kaj vokita kun 'Bob', ĝi redonas
Hi, Bob — redonita subprogramo funkcias same bone kun ĉenoj
kiel kun nombroj.