История изменений
Исправление tailgunner, (текущая версия) :
В первую очередь бросается в глаза проблема лексический областей видимости, из всех стандартных конструкций переменные торчат наружу
Пфф. Это эпический факап? Бозе мой, бозе мой.
На Ruby это выглядит так и ничего не ломается:
Этот пример должен был продемонстрировать, что «факап» мешает только в специально придуманных случаях или что?
Что же касательно замыканий, реализуя-ка counter на замыканиях в гвидопараше (без использования nonlocal костыля)
Ну, например:
def counter(initval):
def incr():
counter.val += 1
return counter.val
counter.val = initval
return incr
c1 = counter(0)
print c1()
print c1()
тебе, как знающему Lisp
Я не знаю CL. Только Схему в рамках SICP.
Я думаю этого достаточно для того, чтобы при встрече обоссать любого гвидоговноеда
Я думаю, что мощности твоего баттхерта достаточно, чтобы зажечь небольшую звезду.
Я могу продолжить кормить говном
Пока что ты им плюешься. Продолжай, пожалуйста.
Исходная версия tailgunner, :
В первую очередь бросается в глаза проблема лексический областей видимости, из всех стандартных конструкций переменные торчат наружу
Пфф. Это эпический факап? Бозе мой, бозе мой.
На Ruby это выглядит так и ничего не ломается:
Этот пример должен был продемонстрировать, что «факап» мешает только в специально придуманных случаях или что?
Что же касательно замыканий, реализуя-ка counter на замыканиях в гвидопараше (без использования nonlocal костыля)
Ну, например:
def counter(initval):
def incr():
counter.val += 1
return counter.val
counter.val = initval
return incr
c1 = counter(0)
print c1()
print c1()
тебе, как знающему Lisp
Я не знаю CL. Только Схему в рамках SICP.
Я думаю этого достаточно для того, чтобы при встрече обоссать любого гвидоговноеда
Я думаю, что мощности твоего баттхерта достаточно, чтобы зажечь небольшую звезду.
Я могу продолжить кормить говном
Пока что ты им плюешься. Продолжай, пожалуйста.