У меня есть R-скрипт, который принимает аргументы командной строки, где верхняя строка:
#!/usr/bin/Rscript --slave
Я хотел прервать выполнение в функции (чтобы я мог в интерактивном режиме использовать переменные данных, которые были загружены этой точкой, для обработки следующего бита кода, который мне нужно написать). Я добавил это внутри рассматриваемой функции:
browser()
но это игнорируется. Немного поиска предполагает, что это может быть потому, что программа работает в неинтерактивном режиме. Но даже в процессе поиска не было обнаружено, как я переключаю сценарий в неинтерактивный режим, чтобы браузер () работал. Что-то вроде browser_yes_I_really_mean_it()
функции.
P.S. Я хочу избежать изменения остальной части сценария, если это возможно. Мой текущий подход заключается в копировании и вставке фрагментов кода, необходимых для подготовки данных, в интерактивный сеанс; но по мере того, как сценарий становится все более и более сложным, это становится все более и более необоснованным.
ОБНОВЛЕНИЕ: для любого другого с тем же вопросом, кажется, ответ на фактический вопрос - то, что это невозможно. Как только вы запускаете R в неинтерактивном режиме, бросается кубик. Таким образом, приведенные ответы являются обходными путями: либо вы взламываете свой код (не забывая впоследствии его отменить), либо реорганизуете, чтобы упростить отладку. (Этот комментарий не предназначен для критики ответов; предложенный рефакторинг в любом случае делает код чище.)