【发布时间】:2017-10-23 16:11:11
【问题描述】:
Julia 中是否有内置的滞后运算符函数?即形式的函数:
lagop(op,array,offset)
返回类似的东西
[array[i + offset] (op) array[i] for i in 1:length(array)-offset]
对于连续的差异,有diff 函数。对于以下任一工作的总和:
x = collect(1:10)
x[1:end-1]+x[2:end]
[x[i]+x[i+1] for i in 1:length(x)-1]
有没有通用的函数来完成这样的任务?
【问题讨论】:
-
lagop(op,array,offset) = [op(array[i + offset], array[i]) for i in 1:length(array)-offset]还不够吗? -
@Liso 绝对是可以实现的,但是在某些场景下这类操作无处不在,这样的功能可以节省时间/增加可读性。例如,
R包中的rollapplyfunctionzoo。
标签: arrays functional-programming julia