LINUX.ORG.RU

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

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

сенд мессадж и ресив мессадж это ооп классический из смаллтолка, как его и задумывали, а функциональщина она про такое:

compose2 = lambda A, B: lambda x: A(B(x))
target = map(compose2(F, G), source_list)
фиг знает где тут читабельность растёт и что по производительности тоже ХЗ, компилятор/интерпритатор умные, наверно посчитают как-то быстро, но писать да, кратко, лично мне не нравится в голове длинные цепочки вызова держать, лучше короткие, чтоб первый код прочитать и понять что он делает мне чуть больше времени надо чем второй

В сравнении императивщина

# императивный стиль
target = []  # создать пустой список
for item in source_list:  # для каждого элемента исходного списка
    trans1 = G(item)  # применить функцию G()
    trans2 = F(trans1)  # применить функцию F()
    target.append(trans2)  # добавить преобразованный элемент в список

Исправление peregrine, :

сенд мессадж и ресив мессадж это ооп классический из смаллтолка, как его и задумывали, а функциональщина она про такое:

compose2 = lambda A, B: lambda x: A(B(x))
target = map(compose2(F, G), source_list)
фиг знает где тут читабельность растёт и что по производительности тоже ХЗ, компилятор/интерпритатор умные, наверно посчитают как-то быстро, но писать да, кратко

В сравнении императивщина

# императивный стиль
target = []  # создать пустой список
for item in source_list:  # для каждого элемента исходного списка
    trans1 = G(item)  # применить функцию G()
    trans2 = F(trans1)  # применить функцию F()
    target.append(trans2)  # добавить преобразованный элемент в список

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

сенд мессадж и ресив мессадж это ооп классический из смаллтолка, как его и задумывали, а функциональщина она про такое:

compose2 = lambda A, B: lambda x: A(B(x))
target = map(compose2(F, G), source_list)
фиг знает где тут читабельность растёт и что по производительности тоже ХЗ, компилятор/интерпритатор умные, наверно посчитают как-то быстро, но писать да, кратко