Программная загрузка библиотек с помощью 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, который будет печатать только новую строку. Для получения дополнительной информации см. Официальные документы.