Pry — это Ruby REPL, что означает «Чтение, оценка, печать, цикл». Это жемчужина, которая создает интерактивную среду для написания кода, его оценки и печати в терминале. Это отличная функция, которая позволяет вам играть с вашим кодом.

Его легко установить. В вашем типе терминала

и все готово. В вашей командной строке введите «pry», и она запустит программу, чтобы вы могли начать вводить команды Ruby, такие как следующие.

Одной из наиболее полезных функций pry является возможность отлаживать код.

Если вы работаете с файлами ruby, вам нужно будет «require pry» перед любым вашим кодом, чтобы использовать его функцию отладки. Тип

в начале вашего файла. Это определяет метод и вызывает его.

Для отладки строки кода мы размещаем «binding.pry» прямо над ней. Мы помещаем этот текст в строку кода, которую хотим исследовать.

В этом методе мы хотим поменять местами буквы в строке, чтобы слово «привет» получилось «оллех». Поскольку наш код не дает такого результата, мы хотим увидеть, в чем проблема. Поместив «binding.pry» над строкой кода «reverse_string = letter + reverse_string», мы хотим увидеть, что вместо этого создает reverse_string. Как только вы запустите файл в своем терминале, «binding.pry» заморозит программу. Это останавливает его работу и переводит ваш терминал в режим pry, как вы можете видеть ниже. Таким образом, мы можем поиграть с кодом, чтобы увидеть, в чем проблема.

В вашей командной строке вы можете ввести «reverse_string», и результатом будет пустая строка. Это правильно, потому что он еще не перебирал буквы в строке. Чтобы повторить первую букву в слове, нам нужно выйти, введя «exit» в командной строке. Мы снова вводим «reverse_string», и вы увидите, что метод char перебрал первую букву. Результатом «reverse_string» является «h». Кажется, пока все в порядке. Чтобы увидеть, что произойдет, когда мы повторим вторую букву, нам нужно выйти и снова ввести «reverse_string». Теперь результат «он». Это не правильно. Результат, который мы хотим увидеть, это «eh» или «ol». Теперь мы точно знаем, что с нашей строкой кода что-то не так. Мы перепишем наш код и посмотрим, работает ли он.

Вместо «обратная_строка = обратная_строка + буква» давайте сделаем «обратная_строка = буква + обратная_строка» и посмотрим, сработает ли это. Когда мы вводим reverse_string в командную строку и выходим из нее 3 раза, результатом будет «leh».

Это результат, который мы ищем. Если мы уберем «binding.pry» и запустим этот метод полностью. Мы увидим, что строка «hello» была перевернута на «olleh».

Это один из способов использования pry для отладки. Pry сэкономил мне много времени при отладке моего кода. Будучи начинающим программистом, я вводил операторы put в свой код, чтобы выяснить проблемы, которые были неэффективны и непрактичны.

Когда вы начнете использовать pry, вы можете столкнуться с проблемой, когда binding.pry не заморозит программу в нужном вам месте. Могло показаться, что ничего не произошло. Потому что программа не прошла. Это означает, что что-то не так с кодом перед кодом, на который вы поместили binding.pry. Вам нужно будет разместить binding.pry ранее в точке, где может возникнуть проблема.

Есть много других функций pry, которые невероятно полезны. Хорошее место для начала — pryrepl.org. Я настоятельно рекомендую поиграть с ним, потому что это один из лучших способов учиться, и он поможет вам лучше решать проблемы.