Partial function application: Difference between revisions
Content added Content deleted
(Added groovy version) |
|||
Line 528: | Line 528: | ||
<lang groovy>def fs = { fn, values -> values.collect { fn(it) } } |
<lang groovy>def fs = { fn, values -> values.collect { fn(it) } } |
||
def f1 = { v -> v * 2 } |
def f1 = { v -> v * 2 } |
||
def f2 = { v -> v |
def f2 = { v -> v ** 2 } |
||
def fsf1 = fs.curry(f1) |
def fsf1 = fs.curry(f1) |
||
def fsf2 = fs.curry(f2)</lang> |
def fsf2 = fs.curry(f2)</lang> |
||
Line 538: | Line 538: | ||
Output: |
Output: |
||
<pre>fsf1[0, 1, 2, 3] = [0, 2, 4, 6] |
<pre>fsf1[0, 1, 2, 3] = [0, 2, 4, 6] |
||
fsf2[0, 1, 2, 3] = [ |
fsf2[0, 1, 2, 3] = [0, 1, 4, 9] |
||
fsf1[2, 4, 6, 8] = [4, 8, 12, 16] |
fsf1[2, 4, 6, 8] = [4, 8, 12, 16] |
||
fsf2[2, 4, 6, 8] = [ |
fsf2[2, 4, 6, 8] = [4, 16, 36, 64]</pre> |
||
=={{header|Haskell}}== |
=={{header|Haskell}}== |