All Downloads are FREE. Search and download functionalities are using the official Maven repository.

gw.lang.enhancements.CoreArrayLongSumEnhancement.gsx Maven / Gradle / Ivy

There is a newer version: 1.18.2
Show newest version
package gw.lang.enhancements

uses java.lang.Long

/**
 * The overloaded versions of the sum() method had to be moved to separate enhancements due to the way block type erasure
 * works (all blocks with the same arity have the same erasure).  Splitting the methods up into different enhancements
 * prevents them from conflicting, since they become part of different Java classes.
 *
 *  Copyright 2014 Guidewire Software, Inc.
 */
enhancement CoreArrayLongSumEnhancement : T[] {
  /**
   * Sums up the values of the target of the mapper argument
   */
  function sum( mapper(elt:T):Long ) : Long {
    var sum = 0 as long
    for( elt in this ) {
      sum += mapper( elt )
    }
    return sum
  }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy