Raku kurss / Objekti, ievade/izvade un izņēmumi / Ievade un izvade

Standarta plūsmas

Katrai programmai ir trīs standarta plūsmas, kas to savieno ar vidi: standarta izvade, standarta kļūdas un standarta ievade. Raku tās padara pieejamas caur trim speciāliem mainīgajiem: $*OUT, $*ERR un $*IN.

Standarta izvadē jūs rakstāt jau visu laiku: say un print sūta savu tekstu uz $*OUT.

say 'Hello'; # goes to standard output

Diagnostikas un kļūdu paziņojumi tiek turēti atsevišķi, standarta kļūdu plūsmā, lai tie nesajauktos ar programmas īsto izvadi. Rutīna note raksta tur:

note 'Something looks wrong'; # goes to standard error

Šī nošķiršana noder tāpēc, ka abas plūsmas var novirzīt neatkarīgi — piemēram, programmas izvadi var saglabāt failā, joprojām redzot tās kļūdu paziņojumus ekrānā.

Plūsmās var arī rakstīt tieši. Gan $*OUT, gan $*ERR ir turis ar savām metodēm say un print:

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

Trešā plūsma $*IN ir standarta ievade. Ar to netieši sastapāties caur prompt, kas no tās nolasa rindu. Pie ievades lasīšanas atgriezīsimies, kad aplūkosim failu turus, jo $*IN ir turis gluži tāpat kā atvērts fails.

Prakse

Jūs gaida 1 viktorīna par šī temata saturu.

Vingrinājumi

Šajā sadaļā ir 3 vingrinājumi. Pirms ķerieties pie vingrinājumiem, izlasiet visus šīs sadaļas tematus.

  1. Izvade un kļūdas
  2. Brīdinājums ar note
  3. Izvade bez jaunas rindas

Kursa navigācija

Ievade un izvade   |   Izvade un kļūdas