Программная загрузка библиотек с помощью Ruby REPL

Я пытался загрузить библиотеки проектов в сценарии, а затем запустить IRB или ripl, чтобы позволить пользователю быстро взаимодействовать с библиотеками проектов. Я преуспел в этом.

Моя проблема - программно отключить эхо командной строки.

Вручную, это легко с вызовом irb_context.echo = false, но это не работает программно, так как управление передается IRB в IRB.start а также irb_context недоступен до звонка IRB.start

1 ответ

Если ты хочешь IRB чтобы ничего не писать, когда пользователь вводит данные, вы можете установить информацию вручную:

IRB.conf[:PROMPT][:NO_REPLY] = {
  :PROMPT_I => "%N(%m):%03n:%i> ",
  :PROMPT_S => "%N(%m):%03n:%i%l ",
  :PROMPT_C => "%N(%m):%03n:%i* ",
  :RETURN => "\n" # used to printf
}

IRB.conf[:PROMPT_MODE] = :NO_REPLY

Таким образом, возвращаемое значение будет игнорироваться REPL, который будет печатать только новую строку. Для получения дополнительной информации см. Официальные документы.

Другие вопросы по тегам