Если я правильно понял, это может помочь:
fun <- function(a){
b <- a^2
if(sum(unlist(lapply(lapply(ls(envir = .GlobalEnv), get), function(x){ identical(x,a^2)})))==0) cat('a squared is ', b)
return(invisible(b))
}
Итак:
ls(envir=.GlobalEnv)
вернет все объекты в вашей глобальной среде
lapply(ls(envir = .GlobalEnv), get)
: вернет список с содержимым всех объектов в вашей глобальной среде
lapply(lapply(ls(envir = .GlobalEnv), get), function(x){ identical(x,a^2)})
: вернет логический список, проверяющий, совпадает ли содержимое любого из всех объектов в вашей глобальной среде с выводомваша функция
sum(unlist(lapply(lapply(ls(envir = .GlobalEnv), get), function(x){ identical(x,a^2)})))==0
если ни одно из содержимого любого из объектов не совпадает с выводом вашей функции, то ... cat!
Надеюсь, это поможет вам!Лучший!