Raku kurss / Padziļināti / Izpildes plūsma / Priekšrakstu prefiksi 🆕 / Exercises / Piespiest tūlītēju izvērtēšanu
Risinājums: Piespiest tūlītēju izvērtēšanu
Šeit ir iespējams risinājums uzdevumam.
Kods
say (1 .. Inf).is-lazy;
say (eager 1..3).is-lazy;
say (lazy 1..3).is-lazy;🦋 Atrodiet programmu failā force-eager.raku.
Izvade
True
False
TrueKomentāri
Diapazonu līdz
Infnevar aprēķināt visu uzreiz, tāpēc tas ir slinks:.is-lazyziņoTrue.Prefikss
eagerliek sarakstu izveidot nekavējoties, tāpēc rezultāts vairs nav slinks —.is-lazyziņoFalse. Šis ir tiešs pretstats saraksta atzīmēšanai arlazy.Nepielietojiet
eagerneierobežotam diapazonam:eager 1 .. Infmēģina aprēķināt katru elementu uzreiz, tāpēc programma vienkārši iekaras, patērējot arvien vairāk atmiņas, līdz tā tiek nogalināta.eagerir droši lietot tikai sarakstiem, par kuriem zināt, ka tie ir galīgi.Darbojas arī otrādi:
lazy 1..3atzīmē kā slinku pat īsu, galīgu diapazonu, tāpēc.is-lazyziņoTrue. Prefikss uzstāda slinkuma karodziņu neatkarīgi no tā, cik mazs saraksts ir — tam nav jābūt bezgalīgam, lai būtu slinks.