Использование mapply
Вероятно, лучший способ сделать это - использовать mapply
, или, по крайней мере, он намного короче.
fun1 <- function(x,y) cat(paste0('$', x), y,strrep("-", 25), sep = '\n')
x <- mapply(fun1, names(my_list), my_list)
Это печатает:
$x
1
-------------------------
$y
2
-------------------------
$z
something
-------------------------
Одна строка
x <- mapply(function(x,y) cat(paste0('$', x), y,strrep("-", 25), sep = '\n'), names(my_list), my_list)
Оберните его в функцию, если хотите
print.list <- function(list) {
x <- mapply(function(x,y) cat(paste0('$', x), y,strrep("-", 25), sep = '\n'), names(list), list)
}