# IRB output format in YAML

**URL:** <https://www.ruby-forum.com/t/irb-output-format-in-yaml/138672>\
**Category:** Ruby\
**Created:** [May 26, 2008, 4:07pm UTC](https://www.ruby-forum.com/t/irb-output-format-in-yaml/138672 "2008-05-26T16:07:32Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![martinos](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/57b2e6/32.png) [@martinos](https://www.ruby-forum.com/u/martinos)\
**Post date:** [May 26, 2008, 4:07pm UTC](https://www.ruby-forum.com/t/irb-output-format-in-yaml/138672/1 "2008-05-26T16:07:32Z")

</div>

I there a way to configure IRB so that it always display the result of a  
IRB command in YAML or PP format.

Example:

In YAML:

## irb(main):011:0\> ENV.keys

- ALLUSERSPROFILE
- APPDATA
- APR\_ICONV\_PATH
- ATI\_PATH
- BERK\_PATH
- CLASSPATH
- CLIENTNAME

Pretty print:

irb(main):015:0\> ENV.key  
[“ALLUSERSPROFILE”,  
“APPDATA”,  
“APR\_ICONV\_PATH”,  
“THG\_ICON\_PATH”,  
“WINDOWS\_PATH”]

---

<div class="post-metadata">

**Author:** ![martinos](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/57b2e6/32.png) [@martinos](https://www.ruby-forum.com/u/martinos)\
**Post date:** [May 26, 2008, 9:40pm UTC](https://www.ruby-forum.com/t/irb-output-format-in-yaml/138672/2 "2008-05-26T21:40:50Z")

</div>

Martin M. wrote:

> I there a way to configure IRB so that it always display the result of a  
> IRB command in YAML or PP format.

Put this in your .irbrc and play around a little:

require ‘yaml’

class IRB::Irb  
def output\_value  
if @context.inspect?  
printf @context.return\_format, @context.last\_value.to\_yaml  
else  
printf @context.return\_format, @context.last\_value  
end  
end  
end

---

<div class="post-metadata">

**Author:** ![martinos](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/57b2e6/32.png) [@martinos](https://www.ruby-forum.com/u/martinos)\
**Post date:** [May 26, 2008, 11:19pm UTC](https://www.ruby-forum.com/t/irb-output-format-in-yaml/138672/3 "2008-05-26T23:19:33Z")

</div>

Thanks Joel, it works perfectly.

Martinos
