Kurso de Raku / Objektoj, en- kaj eligo kaj escepto / Enigo kaj eligo

Normaj fluoj

Ĉiu programo havas tri normajn fluojn, kiuj konektas ĝin al ĝia medio: norman eligon, norman erarfluon kaj norman enigon. Raku disponigas ilin per tri specialaj variabloj: $*OUT, $*ERR kaj $*IN.

Vi skribadis al norma eligo la tutan tempon: say kaj print sendas sian tekston al $*OUT.

say 'Hello'; # iras al norma eligo

Diagnozaj kaj eraraj mesaĝoj estas tenataj aparte, sur norma erarfluo, por ke ili ne miksiĝu en la veran eligon de la programo. La rutino note skribas tien:

note 'Something looks wrong'; # iras al norma erarfluo

Ĉi tiu apartigo estas utila, ĉar la du fluoj povas esti redirektitaj sendepende — ekzemple, vi povas konservi la eligon de programo en dosieron dum vi ankoraŭ vidas ĝiajn erarmesaĝojn sur la ekrano.

Vi ankaŭ povas skribi al la fluoj rekte. Ĉiu el $*OUT kaj $*ERR estas tenilo kun siaj propraj metodoj say kaj print:

$*OUT.say('a normal line');
$*ERR.say('a diagnostic line');

La tria fluo, $*IN, estas norma enigo. Vi renkontis ĝin nerekte per prompt, kiu legas linion el ĝi. Ni revenos al legado de enigo, kiam ni rigardos dosiertenilojn, ĉar $*IN estas tenilo same kiel malfermita dosiero.

Praktiko

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

Ekzercoj

En ĉi tiu sekcio estas 3 ekzercoj. Trarigardu ĉiujn temojn de ĉi tiu sekcio antaŭ ol komenci la ekzercojn.

  1. Eligo kaj eraroj
  2. Averto per note
  3. Presi sen linifino

Kursa navigado

Enigo kaj eligo   |   Eligo kaj eraroj