![]() | |
Developer(s) | John Mair (banisterfiend), Conrad Irwin, …many more |
---|---|
Stable release | 0.11.1
/ September 26, 2017 |
Repository | |
Written in | Ruby |
Operating system | Cross-platform |
Platform | Ruby interpreter |
Type | Ruby shell |
License | [3] MIT License |
Website | pry |
Pry is an interactive shell for the Ruby programming language. It is notable for its Smalltalk-inspired[1] ability to start a REPL within a running program. This lets programmers debug and modify the current state of a system.
Features
[edit]Pry exposes most of its introspective capabilities using a filesystem metaphor.[2] 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.[3] 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,[1] these add tighter integration with other Ruby projects, enhance the abilities of Pry itself, and make Pry available over a remote connection.
See also
[edit]- 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