... REPL je zkratka pro styl programovacího a ladícího cyklu Read–eval–print loop....

REPL je zkratka pro styl programovacího (čí častěji spíš skriptovacího) a ladícího cyklu Read–eval–print loop.

Na této stránce se pokusíme proniknout do tohoto způsobu programování.

Úvod

Tradiční způsob skriptování je ten, že programátor nejdříve napíše celý skript, pak jej z příkazové řádky spustí a následně se snaží v něm nalézt (např. pomocí ladícíh výpisů) a opravit chyby. Naproti tomu styl REPL staví celý skript jaksi po částech, kdy každá část má nějaký vstup (read), pak se provede (eval) a výsledkem je nějaký výstup (print), který se může stát opět vstupem pro další část programu. Avšak styl REPL musí řešit i takové případy, kdy se nějaký výstup nedá jednoduše vytisknout a zobrazit tak, aby se mohl stát jednoduše vstupem pro jinou část programu (například odkaz na nějaký komplexní objekt).

Tento přístup je možno aplikovat v řadě různých programovacích jazyků, nejen interpretovaných, ale i kompilovaných.

Určitým mezistupněm mezi laděním celého skriptu a REPL je dnes už běžné sestavování skriptu po modulech, které můžeme ladit a testovat odděleně. Naskýtá se tedy otázka, v čem tkví přínos REPLu např. oproti takovému vytváření a ladění modulů.

Vzato z opačného (spodního) konce, REPL je možno využít i didakticky při výuce nového programovacího jazyka, kdy se student snaží pochopit činnost malých částí programů stylem "co to udělá, když". Takovou možnost ale už dávno nabízejí shelly (příkazové řádky) a IDE (vývojová prostředí) různých interpretovaných jazyků, např. Python. Takže zde je zase otázka, jaký je přínos REPL oproti takovýmto zaběhnutým přístupům.

Info

Sajtny

REPL v různých jazycích

Python

Perl

Další odkazy





  Go to top  

This article is issued from web site Wikiversity. The original article may be a bit shortened or modified. Some links may have been modified. The text is licensed under "Creative Commons - Attribution - Sharealike" [1] and some of the text can also be licensed under the terms of the "GNU Free Documentation License" [2]. Additional terms may apply for the media files. By using this site, you agree to our Legal pages [3] [4] [5] [6] [7]. Web links: [1] [2]