Funkcionální programování: Porovnání verzí

Smazaný obsah Přidaný obsah
→‎Čistě funkcionální: tvaroslovná chyba
značky: editace z mobilu editace z mobilního webu
Řádek 123:
 
# imperative style
target = [] # create empty list
for itemx in source_list: # iterate over each thing in source
x = G(x)
trans1 = G(item) # transform the item with the G() function
x = F(x)
trans2 = F(trans1) # second transform with the F() function
target.append(trans2x) # add transformed item to target
 
Ve funkcionální verzi to vypadá jinak
Řádek 137:
 
V kontrastu k imperativnímu stylu, který popisuje kroky potřebné k vytvoření položky target, funkcionální styl popisuje matematický vztah mezi položkami source_list a target.
 
Jedná se ale o nepraktické školometné ukázky, v praxi by se ale v pythonu použilo jedno z následujících řešení, kombinující oba přístupy:
 
# řešení 1
target = []
for x in source_list:
target.append(F(G(x)))
 
# řešení 2
target = [F(G(x)) for x in source_list]
 
== Související články ==