SP_AMATCHES

AMATCHES()

  Short:
  ------
  AMATCHES() Counts the matches of an array with condition

  Returns:
  --------
  <nMatches> => Number of matches

  Syntax:
  -------
  AMATCHES(aTarget,[bCondition])

  Description:
  ------------
  <aTarget> is the target array. Normally an array of
  numeric values.

  [bCondition] is an optional codeblock used to select
  a subset of the array. This could be used to filter out 0's or
  non-numeric elements. The block must accept an array element as
  a parameter, and return true or false <expL> to determine if
  this element is part of the desired subset.

  Without [bCondition], the length of the array is
  returned.

  Examples:
  ---------
   v := AMATCHES(aSales)
   v := AMATCHES(aSales,{|e|valtype(e)=="N".and.e<>0})
   v := AMATCHES(aSales,{|e|valtype(e)=="C".and.e=="D"})

  Source:
  -------
  S_ASTATS.PRG

 

SP_ALENG

ALENG()

  Short:
  ------
  ALENG() Actual length of an array, less trailing nil elements

  Returns:
  --------
  <aLength>  => Actual array length, less trailing NILs

  Syntax:
  -------
  ALENG(aTarget)

  Description:
  ------------
  Determines the actual length of <aTarget>, less
  trailing nils.

  Examples:
  ---------

   a := {1,2,3,4,5,nil,nil,nil}
   ?len(a)       // => returns 8
   ?aleng(a)     // => returns 5

  Notes:
  ------
  This was a C function in prior Super.Libs

  Source:
  -------
  S_ALENG.PRG