REPL: различия между версиями
[непроверенная версия] | [отпатрулированная версия] |
РобоСтася (обсуждение | вклад) + {{изолированная статья}} с помощью AWB |
Пунктуация: исправлена не закрытая кавычка |
||
(не показано 30 промежуточных версий 30 участников) | |||
Строка 1: | Строка 1: | ||
'''REPL''' (от {{lang-en|read-eval-print loop}} — «цикл „чтение — вычисление — вывод“») — форма организации простой интерактивной [[Среда программирования|среды программирования]] в рамках средств [[Интерфейс командной строки|интерфейса командной строки]]. Чаще всего этой аббревиатурой характеризуется интерактивная среда языка программирования [[Лисп]], однако такая форма характерна и для интерактивных сред языков [[Erlang]], [[Groovy]], [[Haskell]], [[Java]], [[JavaScript]], [[Perl]], [[PHP]], [[Python]], [[Ruby]], [[Scala (язык программирования)|Scala]], [[Smalltalk]], [[Swift (язык программирования)|Swift]], [[Tcl]] и других. |
|||
REPL ('''Read-eval-print loop''') — простая интерактивная среда программирования. Данный термин наиболее часто используется применительно к интерактивной среде языка программирования [[Lisp]], однако может использоваться и применительно к интерактивным средам языков [[Smalltalk]], [[Python]], [[Ruby]], [[Haskell]] и других языков. |
|||
В такой среде пользователь может вводить выражения, которые среда тут же будет вычислять, а результат вычисления отображать пользователю. |
В такой среде пользователь может вводить выражения, которые среда тут же будет вычислять, а результат вычисления отображать пользователю. Названия элементов цикла связаны с соответствующими примитивами Лиспа: |
||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
== Ссылки == |
|||
⚫ | |||
⚫ | |||
⚫ | |||
* [http://nodejs.org/ruwiki/api/repl.html REPL для языка JavaScript] {{Wayback|url=http://nodejs.org/ruwiki/api/repl.html |date=20130117162132 }} на сайте nodejs.org |
|||
⚫ | |||
REPL-среда очень удобна при изучении нового языка, так как предоставляет пользователю быструю обратную связь. |
|||
[[Категория:Лисп]] |
|||
[[Категория:Командные оболочки]] |
|||
==External links== |
|||
⚫ | |||
⚫ | |||
⚫ | |||
[[en:Read-eval-print loop]] |
|||
{{изолированная статья}} |
Текущая версия от 10:27, 19 апреля 2022
REPL (от англ. read-eval-print loop — «цикл „чтение — вычисление — вывод“») — форма организации простой интерактивной среды программирования в рамках средств интерфейса командной строки. Чаще всего этой аббревиатурой характеризуется интерактивная среда языка программирования Лисп, однако такая форма характерна и для интерактивных сред языков Erlang, Groovy, Haskell, Java, JavaScript, Perl, PHP, Python, Ruby, Scala, Smalltalk, Swift, Tcl и других.
В такой среде пользователь может вводить выражения, которые среда тут же будет вычислять, а результат вычисления отображать пользователю. Названия элементов цикла связаны с соответствующими примитивами Лиспа:
- функция
read
читает одно выражение и преобразует его в соответствующую структуру данных в памяти; - функция
eval
принимает одну такую структуру данных и вычисляет соответствующее ей выражение; - функция
print
принимает результат вычисления выражения и печатает его пользователю.
Чтобы реализовать REPL-среду для некоторого языка, достаточно реализовать три функции: чтения, вычисления и вывода, и объединить их в бесконечный цикл. REPL-среда очень удобна при изучении нового языка, так как предоставляет пользователю быструю обратную связь.
Ссылки
[править | править код]- Описание реализации REPL Архивная копия от 30 января 2021 на Wayback Machine в Common Lisp (Paul Graham).
- c-repl Архивная копия от 11 февраля 2009 на Wayback Machine REPL для языка C
- REPL для языка JavaScript Архивная копия от 17 января 2013 на Wayback Machine на сайте nodejs.org