Я нахожу странным, что это даже возможно:
> x <- list(abc = 2, def = 4)
> x$a
[1] 2
В идеале, я хотел бы вызвать ошибку, если кто-то пытается получить доступ к элементу списка, а элемент не существует.Я бы даже был в порядке, если результат NULL.Но, очевидно, R пытается быть слишком умным и найти другое поле, похожее на вызванный атрибут.
Я попытался посмотреть на options
, но, похоже, нет никакой возможности изменить поведение доступа к списку.
Заранее спасибо.
> R.version
_
platform x86_64-apple-darwin13.4.0
arch x86_64
os darwin13.4.0
system x86_64, darwin13.4.0
status
major 3
minor 2.3
year 2015
month 12
day 10
svn rev 69752
language R
version.string R version 3.2.3 (2015-12-10)
nickname Wooden Christmas-Tree
Я знаю, это старая версия R.Наши модели находятся в производстве, и, похоже, в ближайшее время не планируется обновлять версию Prod R.
ОБНОВЛЕНИЕ: Найден способ превратить частичное соответствие в предупреждение:
> options(warnPartialMatchDollar = TRUE)
> x$a
[1] 2
Warning message:
In x$a : partial match of 'a' to 'abc'