Ici, ajoutez ceci à votre ~/.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
(Remarque : vous devez installer le ctx
Le joyau d'abord, cependant awesome_print
est facultatif, bien sûr).
Maintenant, lorsque vous êtes sur n'importe quelle console qui utilise irb, vous pouvez faire ce qui suit :
Mode normal :
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"}}}
...ouais, exactement ce que vous attendez.
awesome_print
mode :
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"
}
}
}
...wow, maintenant tout s'imprime de manière impressionnante ! :)
Mode silencieux :
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>
... whoah, pas de sortie du tout ? Sympa.
Quoi qu'il en soit, vous pouvez ajouter le mode que vous voulez, et quand vous avez terminé avec ce mode, il suffit de exit
et vous serez de retour dans le mode précédent.
J'espère que cela a été utile ! :)