我有些惊讶MATLAB没有Map函数,因为这是我无法离开的功能之一。因此,我自己编写了一个,但是否有更好的版本?是否存在一个相对标准的MATLAB函数式编程库,我错过了吗?
function results = map(f,list)
% why doesn't MATLAB have a Map function?
results = zeros(1,length(list));
for k = 1:length(list)
results(1,k) = f(list(k));
end
end
使用示例可以是:
map( @(x)x^2,1:10)
map
、foldl
(也称为reduce
)、select
(又称为filter
)和其他不可或缺的好东西。如果你必须使用Matlab,强烈推荐使用。 - Ahmed Fasih