filter(isodd, [1,2,3])
isodd
只需要一个参数,所以没关系。
但是,如果我想要过滤数组的函数需要两个参数呢?我希望第一个参数是数组中的更改值和要修复的第二个参数。我怎么做?或者我是否有义务使用lambda?
N.B。第二个是固定的,但不是常数。下次我过滤时可能会改变。
答案 0 :(得分:2)
我想使用闭包f = c->filter(x->x>c, [1,2,3])
或者函数更复杂:
g(c,a) = filter(a) do x
# complicated body
x > c
end
使用ForwardDiff.jl等一些软件包时,通常会使用此技巧。