Kernel#p
является младшим братом-отладчиком Kernel#puts
: он более или менее работает точно так же, как он, но он преобразовывает свои аргументы, используя #inspect
вместо #to_s
.
Причина, по которой у него такое загадочное имя, заключается в том, что вы можете быстро бросить его в выражение и снова извлечь его при отладке. (Я полагаю, что теперь это намного менее полезно, так как Ruby становится все лучше и лучше "правильной" поддержки отладки.)
Некоторыми альтернативами Kernel#p
являются Kernel#pp
(симпатичная печать) из стандартной библиотеки pp
и Kernel#y
(YAML) из стандартной библиотеки yaml
.