Qual é a diferença entre os modos Prompt Ruby IRB?
Pergunta
Eu posso mudar o modo de prompt de IRB com
irb --prompt prompt-mode
Eu posso ver o que null
e simple
faz, mas não sei dizer a diferença entre null
e xmp
e a diferença entre default
/classic
/inf-ruby
. Alguém pode me explicar o que esses outros modos fazem? Parece inútil ter vários modos fazendo a mesma coisa.
Solução
A resposta para essas perguntas está no irb.conf [: prompt], que é um hash cujas chaves são as diferentes instruções e cujos valores são as configurações para cada prompt. Leia isso para entender a configuração de um prompt.
A diferença entre NULL e XMP é que o XMP exibe um resultado recuado com uma seta:
$ irb --prompt xmp -f
2**10
==>1024
Enquanto Null não recua ou exibe a seta:
$ irb --prompt null -f
2**10
1024
Você poderá responder à sua segunda pergunta depois de ler o link acima e entender que os avisos têm modos diferentes e configurações diferentes para eles.
Outras dicas
Depois de ler o artigo Cldwalker postado acima, convém projetar um prompt personalizado, aqui está o meu, por exemplo:
IRB.conf[:PROMPT][:CUSTOM] = {
:PROMPT_I => ">> ",
:PROMPT_S => "%l>> ",
:PROMPT_C => ".. ",
:PROMPT_N => ".. ",
:RETURN => "=> %s\n"
}
IRB.conf[:PROMPT_MODE] = :CUSTOM
IRB.conf[:AUTO_INDENT] = true