Как увеличить значение счетчика, нажав на кнопку? - PullRequest
0 голосов
/ 28 апреля 2018

У меня есть такая кнопка:

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 голосов
/ 29 апреля 2018

Так работают функции R. Объекты в (глобальном) рабочем пространстве имеют одно значение, и когда вы создаете объект с тем же именем внутри функции, он не имеет памяти для объекта с тем же именем снаружи. Функции R не модифицируют другие переменные, вы должны вернуть измененное значение и явно его перезаписать. Обычно. Введите <<-. Этот оператор присваивания полностью перейдет от функции к глобальной среде и попытается найти объект с тем же именем и записать его в /. Чтобы узнать больше, наберите ?"<<-".

...