LINUX.ORG.RU

История изменений

Исправление 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.

Я думаю этого достаточно для того, чтобы при встрече обоссать любого гвидоговноеда

Я думаю, что мощности твоего баттхерта достаточно, чтобы зажечь небольшую звезду.

Я могу продолжить кормить говном

Пока что ты им плюешься. Продолжай, пожалуйста.