Changes

Jump to navigation Jump to search
1,036 bytes added ,  17 February
no edit summary
=Conventions=
All functions and errors in this module are assigned to the <code><nowiki>http://www.w3.org/2005/xpath-functions/array</nowiki></code> namespace, which is statically bound to the {{Code|array}} prefix.<br/>
=Functions=
| '''Examples'''
|
* <code>array:appendsubarray(["a", "b", "c"], 2)</code> returns the array {{Code|["b", "c"]}}.|} ==array:put== {| width='100%'| width='120' | '''Signatures'''|{{Func|array:put|$array as array(*), $position as xs:integer, $member as item()*|array(*)}}|-| ''member1']Summary'''| Returns a copy of {{Code|$array}} with {{Code|$member}} replaced at the specified {{Code|$position}}. Equivalent to <code>$array => array:remove($position) => array:insert-before($position, $member)</code>.|-| '''Errors'''|{{Error|FOAY0001|#Errors}} {{Code|$position}} is not in the range {{Code|1}} to {{Code|array:size($array)}} inclusive.|-| '''Examples'member2''|* <code>array:put(["a", "b", "c"], 2, "d")</code> returns the array {{Code|["member1a", "d", "member2c"]}}.
|}
{| width='100%'
| width='120' | '''Signatures'''
|{{Func|array:remove|$array as array(*), $positions as xs:integer*|array(*)}}
|-
| '''Summary'''
| '''Examples'''
|The following query returns the array {{Code|[2, 3, 4, 5, 6]}}:
 <pre classsyntaxhighlight lang="brush:xquery">
array:for-each(
array { 1 to 5 },
function($i) { $i + 1}
)
</presyntaxhighlight>
|}
| '''Examples'''
|The following query returns the array {{Code|[0, 1, 3]}}:
<pre classsyntaxhighlight lang="brush:xquery">
array:filter(
array { 0, 1, -2, 3, -4 },
function($i) { $i > 0 }
)
</presyntaxhighlight>
|}
| '''Examples'''
|The following query returns {{Code|55}} (the sum of the integers 1 to 10):
<pre classsyntaxhighlight lang="brush:xquery">
array:fold-left(
array { 1 to 10 },
function($a, $b) { $a + $b }
)
</presyntaxhighlight>
|}
| '''Examples'''
|The following query is equivalent to the expression <code>array:reverse(array { 1 to 5 })</code>:
<pre classsyntaxhighlight lang="brush:xquery">
array {
array:fold-right(
)
}
</presyntaxhighlight>
|}
| '''Examples'''
|The following query returns the array {{Code|[5, 7, 9]}}:
<pre classsyntaxhighlight lang="brush:xquery">
array:for-each-pair(
array { 1 to 3 },
function($a + $b) { $a + $b }
)
</presyntaxhighlight>
|}
{| width='100%'
| width='120' | '''Signatures'''
|{{Func|array:sort|$array as array(*)|array(*)}}<br/>{{Func|array:sort|$array as array(*), $collation as xs:string?|array(*)}}<br/>{{Func|array:sort|$array as array(*), $collation as xs:string?, $key as function(item()*) as xs:anyAtomicType*|array(*)}}<br/>
|-
| '''Summary'''
| Returns a new array with sorted {{Code|$array}} members, using an optional {{Code|$collation}}. If a sort {{Code|$key}} function is givensupplied, it will be applied on all array members. The items of the resulting values will be sorted using the semantics of the {{Code|lt}} expression.
|-
| '''Examples'''
|
* <code>array:sort(array { reverse(1 to 3) })</code> returns <code>[1, 2, 3]</code>
* <code>array:sort([3, -2, 1], (), abs#1)</code> returns <code>[1, -2, 3]</code>* <code>array:sort([1,2,3], (), function($x) { -$x })</code> returns <code>[3, 2, 1]</code>* <code>array:sort((1, 'a'))</code> returns an error (strings and integers cannot be compared)
|}
|}
=Changelog=
;Version 8.6
* Updated: [[#array:put|array:put]] collation argument was inserted between first and second argument.
=Changelog=;Version 8.5* Added: [[#array:put|array:put]]
;Version 8.4
administrator, Bureaucrats, editor, Interface administrators, reviewer, Administrators
400

edits

Navigation menu