Тут додайте це до вашого ~ / .irbrc:
require 'ctx'
require 'awesome_print'
module IRB
class Irb
ctx :ap do
def output_value()
ap(@context.last_value)
end
end
ctx :puts do
def output_value()
puts(@context.last_value)
end
end
ctx :p do
def output_value()
p(@context.last_value)
end
end
ctx :quiet do
def output_value()
end
end
end
end
def irb_mode(mode)
ctx(mode) { irb }
end
(Примітка: Ви повинні ctx
спочатку встановити самоцвіт, хоча awesome_print
, звичайно, необов’язково.)
Тепер, перебуваючи на будь-якій консолі, яка використовує irb, ви можете зробити наступне:
Нормальний режим:
irb(main):001:0> { this:'is a complex object', that:[ { will:'probably'}, { be:'good to read' } ], in:{ some:{ formatted:'way'} } }
=> {:this=>"is a complex object", :that=>[{:will=>"probably"}, {:be=>"good to read"}], :in=>{:some=>{:formatted=>"way"}}}
... так, саме те, що ви очікуєте.
awesome_print
режим:
irb(main):002:0> irb_mode(:ap)
irb#1(main):001:0> { this:'is a complex object', that:[ { will:'probably'}, { be:'good to read' } ], in:{ some:{ formatted:'way'} } }
=> {
:this => "is a complex object",
:that => [
[0] {
:will => "probably"
},
[1] {
:be => "good to read"
}
],
:in => {
:some => {
:formatted => "way"
}
}
}
... нічого собі, зараз все чудово роздруковується! :)
Тихий режим:
irb#1(main):002:0> irb_mode(:quiet)
irb#1(main):001:0> { this:'is a complex object', that:[ { will:'probably'}, { be:'good to read' } ], in:{ some:{ formatted:'way'} } }
irb#1(main):002:0>
... ну, взагалі немає виходу? Приємно.
У будь-якому випадку, ви можете додати будь-який режим, який вам подобається, і коли закінчите з цим режимом, просто exit
вимкніть його, і ви повернетесь у попередній режим.
Сподіваюся, це було корисно! :)
users = User.all; 0