Что мне нравится в модулях python
, так это то, что после импорта какой-либо функции из нее поведение этой функции во время выполнения можно изменить, просто применив изменения к файлу модуля.
Предположим, например, у меня есть модуль test.py
со следующей определенной функцией:
def fun():
return 5
Теперь в консоли IPython я импортирую и выполняю эту функцию
> from test import fun
> fun()
5
Теперь я перехожу к test.py
и изменяю определение функции (и сохраняю изменения):
def fun():
return 10
Выполнение fun()
в консоли теперь приводит к:
> fun()
10
Я думаю, что это особенность IPython . Это делает написание и тестирование кода более эффективным. В R
, чтобы получить похожее поведение, я должен вручную получать файл определения при каждом изменении.
В любом случае, как получить подобное поведение в R
?
PS Я знаю, что RStudio поддерживает "Source on Save" (что нормально), но ограничен Это не позволяет мне использовать источники в определенных средах (что я обычно делаю, чтобы поддерживать чистоту глобальной среды).