Это похоже на артефакт str
. Моя интерпретация заключается в том, что слова hidden list
печатаются на выходе str
, если объект не является pairlist
.
Поскольку ваш объект относится к классу bibtex
, и для bibtex
нет метода str
, метод utils:::str.default
используется для описания структуры.
Сгущенный экстракт из str.default
:
...
if (is.list(object)) {
i.pl <- is.pairlist(object)
...
cat(if (i.pl)
"Dotted pair list"
else if (irregCl)
paste(pClass(cl), "hidden list")
else "List", " of ", le, "\n", sep = "")
...
}
Ключевой бит, который определяет irregCl
:
....
else {
if (irregCl <- has.class && identical(object[[1L]],
object)) {
....
и это объясняет бит скрытого списка - он скрывает внешний список, если у объекта есть класс и object
и object[[1]]
идентичны. Как показано в Answer , на который вы ссылались, метод [[
возвращает идентичный объект, если список содержит один объект "bibentry"
.