hello = function(day){
print day
print "was a good day"
}
func = hello
func("Monday")
print(func) #Want it to print "hello"
我正在尝试print(func)
打印文字字符串“hello”,但我的代码的其他部分仍然有func("Monday")
。是否有可能做到这一点?如何将func指定为文字“hello”?
我试过了
as.character(func)
deparse (func)
但无济于事。有任何想法吗?感谢
答案 0 :(得分:0)
您可以这样做:
as.character(quote(hello))
但是func不再与名称hello相关联。 hello函数的内容转移而不是名称hello。所以你不能使用func来恢复你好的字符串。
编辑:实际上我错了。见弗兰克的评论。你可以这样做:hello = function(x) sprintf("%s was a good day",x)
func = function(x) hello(x);
as.character(body(func)[[1]])
答案 1 :(得分:0)
而不是func <- hello
,您需要func <- "hello"