Если вы дадите ему собственный класс и метод печати, повторяющий это сообщение, вы сможете достичь своей цели.
print.click <- function(x, ...){
#
# could do something here
# the <something> could be a plot or calculation
plot(1:10, 10:1, type="l")
cat("Your click message here\n perhaps \n Downward line plotted!")
invisible(x)
}
click <- "click"
class(click) <- "click"
click
# Your click message here
# perhaps
# Downward line plotted!
Даже если вы хотите «инкапсулировать» определение класса в самом объекте, как продемонстрировал Аарон, вы не ограничитесь печатью сообщения. Вы могли бы сделать что-то вроде этого:
print.click <- function(x, ...) {plot(1:10, 10:1, type="l")
cat("prompt user to click on img...\n")
Если вы хотите позвонить locator
, вы можете расширить интерактивность с пользователем.