В чем разница между режимами подсказки Ruby irb?
Вопрос
Я могу изменить режим подсказки irb с помощью
irb --prompt prompt-mode
я вижу что null
и simple
есть, но я не могу отличить null
и xmp
и разница между default
/classic
/inf-ruby
.Может кто-нибудь объяснить мне, что делают эти другие режимы?Кажется бессмысленным иметь несколько режимов, выполняющих одно и то же.
Решение
Ответ на эти вопросы содержится в IRB.conf[:PROMPT] — хеше, ключами которого являются различные запросы, а значениями — конфигурации для каждого запроса. Прочтите это, чтобы понять конфигурацию приглашения..
Разница между null и xmp заключается в том, что xmp отображает результат со стрелкой:
$ irb --prompt xmp -f
2**10
==>1024
в то время как значение null не делает отступ и не отображает стрелку:
$ irb --prompt null -f
2**10
1024
Вы сможете ответить на свой второй вопрос, как только прочитаете ссылку выше и поймете, что подсказки имеют разные режимы и разные конфигурации.
Другие советы
Прочитав статью cldwalker, опубликованную выше, вы, возможно, захотите создать собственную подсказку, например, вот мою:
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