Partial function application: Difference between revisions

Add Lua solution
(→‎{{header|Scala}}: Scala example)
(Add Lua solution)
Line 991:
yes
</lang>
 
=={{header|Lua}}==
 
<lang lua>function map(f, ...)
local t = {}
for k, v in ipairs(...) do
t[#t+1] = f(v)
end
return t
end
 
function timestwo(n)
return n * 2
end
 
function squared(n)
return n ^ 2
end
 
function partial(f, ...)
local args = ...
return function(...)
return f(args, ...)
end
end
 
timestwo_s = partial(map, timestwo)
squared_s = partial(map, squared)
 
print(table.concat(timestwo_s{0, 1, 2, 3}, ', '))
print(table.concat(squared_s{0, 1, 2, 3}, ', '))
print(table.concat(timestwo_s{2, 4, 6, 8}, ', '))
print(table.concat(squared_s{2, 4, 6, 8}, ', '))</lang>
 
'''Output:'''
 
0, 2, 4, 6
0, 1, 4, 9
4, 8, 12, 16
4, 16, 36, 64
 
 
=={{header|Mathematica}}==
Anonymous user