Pry (software)
{{short description|Shell interface for the Ruby programming language}}
{{Infobox Software
| name = Pry REPL
| logo = Pry REPL Logo.png
| logo size = 250px
| screenshot =
| developer = John Mair (banisterfiend), Conrad Irwin, [https://github.com/pry/pry/graphs/contributors …many more]
| latest release version = 0.11.1
| latest release date = {{release date|2017|09|26}}
| operating system = Cross-platform
| platform = Ruby interpreter
| programming language = Ruby
| license = [https://raw.github.com/pry/pry/master/LICENSE]
MIT License
| website = {{URL|https://pry.github.io}}
}}
Pry is an interactive shell for the Ruby programming language. It is notable for its Smalltalk-inspiredThe Pry Ecosystem — John Mair, 2012 [http://banisterfiend.wordpress.com/2012/02/14/the-pry-ecosystem/ link] ability to start a REPL within a running program. This lets programmers debug and modify the current state of a system.
Features
Pry exposes most of its introspective capabilities using a filesystem metaphor.Pry — Reuven M. Lerner, LinuxJournal, July 2012, pp28 [http://www.linuxjournaldigital.com/linuxjournal/201207?pg=34#pg28 link], or [https://dl.acm.org/doi/fullHtml/10.5555/2346888.2346893] For example, it has a cd
command to start interacting with a particular object, and uses ls
to list methods and variables.
It is possible to start Pry at any point inside a running program.Interactive Debugging With Pry — Alan MacDougall, 2012 [http://www.alanmacdougall.com/blog/2012/06/08/interactive-debugging-with-pry/ link], or [https://alanmacdougall.com/technical-writing/2012-06-08-interactive-debugging-with-pry/] Due to the reflective nature of Ruby, this lets the programmer inspect the program, change its current state, or correct the source code without restarting the process.
A number of third party plugins are available for Pry, these add tighter integration with other Ruby projects, enhance the abilities of Pry itself, and make Pry available over a remote connection.
See also
{{Portal|Free and open-source software}}
- Comparison of computer shells
- IPython — A similar piece of software for the Python programming language
- SLIME — An interactive Lisp shell for Emacs
- Tweak — A Smalltalk programming environment
References
External links
- {{Official website|https://pry.github.io/}}
- [https://github.com/pry/pry/wiki/ Wiki documentation]
- [http://vimeo.com/26391171 Introductory video]
{{Ruby programming language}}