用法:
reduce(op, itr; [init])使用给定的二元运算符 op 减少给定的集合 itr 。如果提供,初始值 init 必须是为空集合返回的 op 的中性元素。未指定init 是否用于非空集合。
对于空集合,需要提供 init,但某些特殊情况除外(例如,当 op 是 +、*、max、min、&、| 之一时)当 Julia 可以确定 op 的中性元素时。
某些常用运算符的缩减可能有特殊实现,应改为使用:maximum(itr)、minimum(itr)、sum(itr)、prod(itr)、any(itr)、all(itr)。
减少的关联性取决于实现。这意味着您不能使用像 - 这样的非关联操作,因为不确定 reduce(-,[1,2,3]) 是否应该被评估为 (1-2)-3 或 1-(2-3) 。使用   或 foldl   来保证左或右关联性。foldr 
一些操作会累积错误。如果减少可以分组执行,并行性会更容易。 Julia 的未来版本可能会改变算法。请注意,如果您使用有序集合,则元素不会重新排序。
例子
julia> reduce(*, [2; 3; 4])
24
julia> reduce(*, [2; 3; 4]; init=-1)
-24相关用法
- Julia redirect_stdio用法及代码示例
- Julia rem用法及代码示例
- Julia readchomp用法及代码示例
- Julia readuntil用法及代码示例
- Julia replace!用法及代码示例
- Julia real方法用法及代码示例
- Julia readlines用法及代码示例
- Julia replace()用法及代码示例
- Julia retry用法及代码示例
- Julia read用法及代码示例
- Julia reverseind用法及代码示例
- Julia reim用法及代码示例
- Julia repeat方法用法及代码示例
- Julia readline用法及代码示例
- Julia repeat用法及代码示例
- Julia repr方法用法及代码示例
- Julia reverse!用法及代码示例
- Julia reshape用法及代码示例
- Julia replace方法用法及代码示例
- Julia repeat()用法及代码示例
- Julia reverse方法用法及代码示例
- Julia resize!用法及代码示例
- Julia readeach用法及代码示例
- Julia reverse()用法及代码示例
- Julia rest用法及代码示例
注:本文由纯净天空筛选整理自julialang.org 大神的英文原创作品 Base.reduce — Method。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。
