Мне интересно, можно ли подавить эти выходные данные в R, которые загромождают консоль:
Note: no visible binding for global variable '.->ConfigString'
Note: no visible binding for '<<-' assignment to 'ConfigString'
Вот код (это простой ReferenceClass для хранения конфигурации проекта R):
# Reference Class to store configuration
Config <- setRefClass("Config",
fields = list(
ConfigString = "character"
),
methods = list(
# Constructor
initialize = function() {
ConfigString <<- "Hello, World!"
}
)
)
Что я уже пробовал
Я когда-либо пробовал комбинацию и перестановку предопределения переменных, предварительно устанавливая их в нуль и т. д., но R все еще упрямо печатает сотни заметок «Нет видимой привязки» в моем исходном коде.
Кто-нибудь мудрее меня, когда дело доходит до внутренностей R?
Обновление 1
Я попытался изменить Config <-
на Config <<-
, и это избавило меня от второго постороннего примечания. Однако первая посторонняя нота все же присутствует.
Обновление 2
Я начинаю падать духом, даже пример кода Джона Чемберса генерирует больше этих ужасных, посторонних нот.
Обновление 3
Эти примечания встречаются в Revolution R v7.0, но не встречаются в RStudio. Похоже, что Revolution R v7.0 вызывает R CMD check
, который обычно используется только при подготовке пакетов, поэтому эти примечания можно смело игнорировать.
Обновление 4
Хэдли Уикхэмс код также генерирует эти заметки. По-видимому, их можно устранить с помощью utils::globalVariables
, однако это, похоже, не работает с более новыми ReferenceClasses. Даже если бы их вообще можно было использовать, Хэдли утверждает:
globalVariables — отвратительный хак, и я никогда не буду его использовать.
ConfigString <- NULL
прямо в начало функции (до того, как вы используете эти переменные) также приводит к исчезновению примечаний. - person Tyler Rinker   schedule 05.05.2014