При использовании JavaScript 1.6 или позже (Firefox 1.5, или позже) можно использовать Array.indexOf. Иначе я думаю, что Вы собираетесь закончить с чем-то подобным Вашему исходному коду.
Действительно довольно загадочно - похоже, что закрытие исчезает из-под внутренних функций. Интересно, связано ли это с , как pygtk содержит такие функции обратного вызова (я не знаком с его внутренними функциями). Чтобы попытаться выяснить это - что произойдет, если вы также добавите ene и lne к глобальному списку в конце attach_row
, просто чтобы убедиться, что они хранятся где-то «нормально», чтобы их закрытие сохранилось - - сохраняется ли проблема в этом случае?
Если это так, то я должен признать, что проблема СЛИШКОМ загадочна, и согласен с предыдущим ответом, предлагающим в качестве обходного пути использование вызываемых объектов, которые более четко фиксируют свое состояние (Я бы предложил два связанных метода одного экземпляра класса, поскольку они разделяют свое состояние,
Недостаточно очков, чтобы оставить это как комментарий (только что зарегистрированный) ...
Одним из возможных, но неприятных решений может быть создание классов ene и lne, которые создаются и вызываются как функции через __call__ () метод.