LINUX.ORG.RU

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

Исправление tailgunner, (текущая версия) :

Важнее был ответ на «устроят ли тебя чистые функции». Если устроят, то на Python примерно так (вероятно, такая функция есть в stdlib более-менее новых Python):


def mkpipe(cmdlst):
   def run1(a):
     for cmd in cmdlst:
       a = cmd(a)
     return a
   return run1

def c1(a): return str(a) + "-- cmd"

map(mkpipe([c1, lambda x: str(x) + "-- lam"]), [1, 2, 3])

Объединение через «|» тоже можно сделать, но там придется писать декоратор.

А вот если нужна зависимость от внутреннего состояния, придется делать на итераторах, и там всё становится несколько нетривиально.

P.S. https://toolz.readthedocs.io/en/latest/streaming-analytics.html

Исходная версия tailgunner, :

Важнее был ответ на «устроят ли тебя чистые функции». Если устроят, то на Python примерно так (вероятно, такая функция есть в stdlib более-менее новых Python):


def mkpipe(cmdlst):
   def run1(a):
     for cmd in cmdlst:
       a = cmd(a)
     return a
   return run1

def c1(a): return str(a) + "-- cmd"

map(mkpipe([c1, lambda x: str(x) + "-- lam"]), [1, 2, 3])

Объединение через «|» тоже можно сделать, но там придется писать декоратор.

А вот если нужна зависимость от внутреннего состояния, придется делать на итераторах, и там всё становится несколько нетривиально.