<?xml version="1.0" encoding="utf-8" standalone="yes"?>

<?xml-stylesheet href="./_c74_ref.xsl" type="text/xsl"?>

<!--This is an automatically generated file. DO NOT EDIT THIS FILE DIRECTLY. Rather, use the _ref.xml files found in the 'edits' folder.-->
<c74object name="array.slice" module="max" category="Array">
	<digest>
		Output a range of elements of an array object as a new array object.
	</digest>
	<description>
		<o>array.slice</o> is similar to <o>array.subarray</o>, but attempts to conform to the JavaScript Array.slice() behavior.
	</description>
	<!--METADATA-->
	<metadatalist>
		<metadata name="author">
			Cycling '74
		</metadata>
		<metadata name="tag">
			array
		</metadata>
	</metadatalist>
	<!--INLETS-->
	<inletlist>
		<inlet id="0" type="INLET_TYPE">
			<digest>
				array in
			</digest>
			<description>
				TEXT_HERE
			</description>
		</inlet>
		<inlet id="1" type="INLET_TYPE">
			<digest>
				slice indices (0-based)
			</digest>
			<description>
				TEXT_HERE
			</description>
		</inlet>
	</inletlist>
	<!--OUTLETS-->
	<outletlist>
		<outlet id="0" type="OUTLET_TYPE">
			<digest>
				sliced array out
			</digest>
			<description>
				TEXT_HERE
			</description>
		</outlet>
	</outletlist>
	<!--ARGUMENTS-->
	<objarglist>
		<objarg id="0" name="slice-indeces" type="list" optional="1">
			<digest>
				Slice indeces
			</digest>
			<description>
				Set the range to slice when an array is received in the leftmost inlet. Negative values index from the end of the array, and a single value on its own implicitly stretches to the end of the array. If the end of the range is before the start, then the elements of the range will be reversed.
			</description>
		</objarg>
	</objarglist>
	<!--MESSAGES-->
	<methodlist>
		<method name="bang">
			<arglist />
			<digest>
				Trigger output
			</digest>
			<description>
				Reprocess previously received arrays and trigger output.
			</description>
		</method>
		<method name="int">
			<arglist>
				<arg name="value" type="int" optional="0" />
			</arglist>
			<digest>
				Convert an integer to an array.
			</digest>
			<description>
				Convert an incoming integer to an array, then process as described for the <m>array</m> message.
			</description>
		</method>
		<method name="float">
			<arglist>
				<arg name="value" type="float" optional="0" />
			</arglist>
			<digest>
				Convert a floating-point number to an array.
			</digest>
			<description>
				Convert an incoming floating-point number to an array, then process as described for the <m>array</m> message.
			</description>
		</method>
		<method name="list">
			<arglist>
				<arg name="list-value" type="list" optional="0" />
			</arglist>
			<digest>
				Convert a list to an array.
			</digest>
			<description>
				Convert an incoming list to an array, then process as described for the <m>array</m> message.
			</description>
		</method>
		<method name="anything">
			<arglist>
				<arg name="ARG_NAME_0" type="list" optional="0" />
			</arglist>
			<digest>
				TEXT_HERE
			</digest>
			<description>
				TEXT_HERE
			</description>
		</method>
		<method name="array">
			<arglist>
				<arg name="ARG_NAME_0" type="list" optional="0" />
			</arglist>
			<digest>
				Output a sliced array in a new array
			</digest>
			<description>
				Set the range of values to output using the second inlet or the object arguments.
			</description>
		</method>
		<method name="dictionary">
			<arglist>
				<arg name="dictionary-value" type="list" optional="0" />
			</arglist>
			<digest>
				Wrap a dictionary object in an array.
			</digest>
			<description>
				Wrap an incoming dictionary object in an array, then process as described for the <m>array</m> message.
			</description>
		</method>
		<method name="string">
			<arglist>
				<arg name="string-value" type="list" optional="0" />
			</arglist>
			<digest>
				Wrap a string object in an array.
			</digest>
			<description>
				Wrap a string object in an array, then process as described for the <m>array</m> message.
			</description>
		</method>
	</methodlist>
	<!--ATTRIBUTES-->
	<!--EXAMPLE-->
	<examplelist>
		<example caption="" img="" />
	</examplelist>
	<!--SEEALSO-->
	<seealsolist>
		<seealso name="array" />
		<seealso name="array.subarray" />
		<seealso name="zl.ecils" />
		<seealso name="zl.slice" />
	</seealsolist>
	<discussion>
		In particular, the slice is from <m>slice-start</m> to <m>slice-end - 1</m> ( <o>array.subarray</o> slices from <m>slice-start</m> to <m>slice-end</m> inclusively). Unlike <o>array.subarray</o>, reverse slices are not permitted. <b /><b /> Unlike the JS Array.slice(), <o>array.slice</o> will accept an optional <m>0</m> as a 2nd range argument to indicate that the slice should extend to the end of the array.
	</discussion>
</c74object>
