увеличьте международный объект

Если Вы выделите метод Assert.assertEquals(val1, val2) и поразите Ctrl + , Сдвиг + M (Добавьте Импорт), это добавит его как статический импорт, по крайней мере, в Eclipse 3.4.

14
задан Anurag Uniyal 16 July 2009 в 04:26
поделиться

4 ответа

int неизменяемы, поэтому вам нужно будет создать свой собственный класс со всеми методами int, если вы хотите "изменяемый int"

12
ответ дан 1 December 2019 в 09:33
поделиться

Да, краткий ответ заключается в том, что int неизменяемы.

0
ответ дан 1 December 2019 в 09:33
поделиться

Вероятно, было бы проще создать класс, который реализует методы int и обертывает внутреннее целое число.

3
ответ дан 1 December 2019 в 09:33
поделиться

Если вам абсолютно необходимо заставить этот код работать, вот грязный метод, в котором метод экземпляра перемещается вверх на кадр и перезаписывает свою собственную запись локальных переменных. Не рекомендую. (ну, на самом деле нет. Я даже не уверен, что это значит. Что происходит со старым экземпляром? Я недостаточно знаю о фреймах ...). На самом деле, я публикую это только потому, что все сказали, что это невозможно, хотя на самом деле это просто до смешного дурной тон. ; -)

import sys
class FakeInt(int):
    def __init__(self, *arg, **kwarg):
        self._decr = False
        int.__init__(self, *arg, **kwarg)
    def __neg__(self):
        if self._decr:

            upLocals = sys._getframe(1).f_locals
            keys, values = zip(*upLocals.items())
            i = list(values).index(self)

            result = FakeInt(self-1)
            upLocals[keys[i]]=result

            return result
        self._decr = not self._decr
        return self

A = FakeInt(10)
while --A:
    print A,

выводит:

9 8 7 6 5 4 3 2 1
5
ответ дан 1 December 2019 в 09:33
поделиться
Другие вопросы по тегам:

Похожие вопросы: