filter(isodd, [1,2,3])
isodd
只需要一个参数,就可以了。但是,如果我要过滤数组的函数需要两个参数怎么办?我希望第一个参数是数组中更改的值,第二个参数是固定的。我怎么做?还是我必须使用lambda?
注意:第二个是固定的,但不是常数。下次我过滤时可能会改变。
我想使用闭包,f = c->filter(x->x>c, [1,2,3])
或者如果函数更复杂:
g(c,a) = filter(a) do x
# complicated body
x > c
end
使用某些软件包(例如ForwardDiff.jl)时,通常使用此技巧。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句