Kurso de Raku / Funkcia, samtempa, reaktiva kaj reta programado / Samtempa programado / Kunligoj

Konstrui kunligojn

La plej simpla maniero konstrui kunligon estas per la kunligaj operatoroj. La operatoro | faras any-kunligon:

my $j = 1 | 2 | 3;
say $j; # any(1, 2, 3)

La valoro $j reprezentas «1 aŭ 2 aŭ 3». Ekzistas kvar specoj de kunligo, ĉiu kun operatoro kaj responda funkcio:

  • any( … )a | b — vera, se iu ajn valoro kongruas
  • all( … )a & b — vera, se ĉiuj valoroj kongruas
  • one( … )a ^ b — vera, se precize unu valoro kongruas
  • none( … ) — vera, se neniu valoro kongruas (ĉi tio estas la sola speco sen operatora formo — uzu la funkcion)

La funkciaj formoj estas oportunaj kun listo:

say all(3, 7, 2);  # all(3, 7, 2)
say none(1, 2, 3); # none(1, 2, 3)

Kunligo estas plej utila en komparo. Demandi, ĉu nombro egalas any-kunligon, testas ĝin kontraŭ ĉiu valoro samtempe:

say so 2 == any(1, 2, 3); # True
say so 5 == any(1, 2, 3); # False

La operatora formo legiĝas same nature — 1 | 2 | 3 estas precize la sama any-kunligo:

say so 2 == 1 | 2 | 3; # True
say so 5 == 1 | 2 | 3; # False

La so transformas la kunligan rezulton en simplan bulean valoron. La sekva temo rigardas, kio okazas malantaŭ la kulisoj, kiam vi faras tion.

Praktiko

Vin atendas 1 kvizo pri la enhavo de ĉi tiu temo.

Kursa navigado

Kunligoj   |   Kvizo — Kunligoj


💪 Aŭ iru rekte al la ekzercoj de ĉi tiu sekcio.