如何通过单击按钮增加计数器的值?

时间:2018-04-28 12:22:16

标签: r gwidgets

我有一个这样的按钮:

win <- gwindow("Extraction des mots clés", visible=TRUE)
obj2 <- gbutton("Valider et afficher les mots suivants",container=win)

我希望每次按下按钮时,我的脚本中设置为0的计数器都会递增。

k<-0

我创建了这个处理程序:

addHandlerClicked(obj2,handler = function(h,...){
k<-k+1
print (k)
return(k)
})

但是当我在print k之外addHandlerClicked时,k仍为0.那我该怎么办?此外,我上面写的指令return (k)是否可以用来实现这个目标?

提前致谢

1 个答案:

答案 0 :(得分:1)

这是R函数的工作方式。 (全局)工作空间中的对象具有一个值,并且当您在函数中创建同名对象时,它没有外部具有相同名称对象的内存。 R函数不修改其他变量,您必须返回修改后的值并明确覆盖它。一般。输入<<-。此赋值运算符将从函数一直到全局环境,并尝试查找相同的名称对象并将其写入/写入。点击?"<<-"即可查看更多信息。