REPL [Odczyt — Ewaluacja — Wypisanie — Pętla]

Last updated: December 12, 2024

REPL to „interaktywne” środowisko, które pomaga debugować i oceniać bloki kodu poprzez ich wykonywanie w czasie rzeczywistym.

Aby zrozumieć, czym jest REPL, zobaczmy, jak programista koduje bez REPL lub innych narzędzi debugowania.

normal.png

Tutaj programista ciągle modyfikuje kod i powtarza cały proces, aż osiągnie ostateczny działający kod.

Teraz z REPL, wygląda to tak.

with_repl.png

Tutaj programista ciągle testuje bloki kodu, aby zweryfikować ich poprawność, i za każdym razem pisze działający kod.

Używając REPL, programiści oszczędzają dużo czasu, uruchamiając i debugując bloki kodu, co jest znacznie lepsze niż uruchamianie całego programu i weryfikacja jego poprawności. Podczas procesu kodowania, pętla read–eval–print angażuje programistę częściej niż klasyczny cykl edytuj-kompiluj-uruchom-debuguj.

Aby dowiedzieć się, jak działa REPL, spójrz, jak programista Pythona używa REPL do napisania programu dodającego 2 liczby.

ezgif.com-optimize.gif

Jak widać, programista próbuje uruchomić funkcję add2Numbers(a,b) w wielu przypadkach, aby zapewnić poprawność. 

Read Eval Print Loop, jak sama nazwa wskazuje, obsługuje następujące:

  • Read — Odczyt wejścia użytkownika w czasie rzeczywistym
  • Eval — Ocena bloków kodu
  • Print — Wypisuje wynik użytkownikowi
  • Loop — Powtarzanie kodu za pomocą pętli

Ponieważ REPL ładuje funkcje i zmienne do pamięci, obsługuje również autouzupełnianie funkcji za pomocą klawisza <Tab>.

REPL jest oficjalnie obsługiwany dla interpretowanych języków programowania, takich jak Python, Javascript oraz Ruby. Java9 oraz Swift5 w ostatnich latach uruchomiły oficjalne wsparcie REPL. Dla innych języków programowania dostępne są REPL-y stron trzecich, które można używać.