如何让R语言嵌套函数向控制台打印内容?
解决R嵌套函数打印内容的问题
嘿,我来帮你搞定这个嵌套函数的问题~你写的代码里,somefun只是在内部定义了otherfun,但从来没有调用过这个内部函数,所以运行somefun("It works!")的时候自然没输出。要实现打印功能,最佳方式是在somefun内部定义完otherfun之后,立刻调用它,把参数传进去。
修正后的代码如下:
somefun <- function(x) { otherfun <- function(x) { print(x) } # 关键步骤:调用内部函数otherfun,传入参数x otherfun(x) } # 现在运行就能看到打印内容了 somefun("It works!")
简单解释下:当你调用somefun("It works!")时,函数会先定义内部的otherfun,然后执行otherfun(x),这时候otherfun就会接收参数并执行print(x),控制台就能输出你想要的内容啦。
如果你的场景不需要保留otherfun的定义(只是想打印),其实也可以简化成直接在somefun里打印,但既然你用了嵌套函数的结构,上面的写法就是最贴合需求的最佳实现。
内容的提问来源于stack exchange,提问作者Tom
相关产品推荐
相关产品推荐

