Click or drag to resize

AEvalA Function (Array, ICodeblock, Usual)

X#
Execute a code block for each element in an array and assign the return value to each element in the array.

Namespace:  XSharp.RT
Assembly:  XSharp.RT (in XSharp.RT.dll) Version: 2.21
Syntax
 FUNCTION AEvalA(
	aArray AS ARRAY,
	cbBlock AS ICodeblock,
	nStart AS USUAL
) AS ARRAY
Request Example View Source

Parameters

aArray
Type: Array
The array to traverse.
cbBlock
Type: ICodeblock
The code block to execute.
nStart
Type: Usual
The starting element.
A negative value starts from the end.
If nCount is positive, the default value is 1; if nCount is negative, the default value is the length of the array.

Return Value

Type: Array
A reference to aArray.
Remarks
AEvalA() is similar to AEval() in that they both evaluate a code block once for each element of an array, passing the element value as an argument.
The difference is that while AEval() ignores the return value of the code block, AEvalA() assigns the return value to the array element.
See AEval() for details.
Examples
This example uses AEvalA() to create an array of file names in lowercase:
X#
1FUNCTION Start()
2    LOCAL aFiles := Directory("*.dbf")
3    LOCAL nTotal AS SHORTINT
4    AEvalA(aFiles,{|aDBFFile| LOWER(PadR(aDBFFile[F_NAME], 10))})
See Also