Skip to main content

  | मौसम…

411 समाचार
Public archive edition · Attributed source reporting with original dates · AI drafts are excluded

411 REFERENCE · Wikibooks

Rebol Programming/take

Reference material by Wikibooks contributors. This retains its source identity and is not 411 news reporting.

USAGE: TAKE value /part length /last DESCRIPTION: Copies and removes from series. (Modifies) TAKE is a function value. ARGUMENTS value -- (Type: series port none) REFINEMENTS /part -- Limits to a given length or position length -- (Type: number series port pair) /last -- Take it from the tail end (SPECIAL ATTRIBUTES) catch SOURCE CODE take: func [ "Copies and removes from series. (Modifies)" [catch] value [series! port! none!] /part "Limits to a given length or position" length [number! series! port! pair!] /last "Take it from the tail end" ][ if value [ either part [ case [ pair? length [ unless image? value [ throw-error 'script 'invalid-part length ] last: none ] any [series? length port? length] [ either same? head value head length [ length: subtract index? length index? value ] [ throw-error 'script 'invalid-part reduce [length] ] ] ] if last [ length: negate length value: tail value ] also copy/part value length remove/part value length ] [ also pick either last [ value: back tail value ] [value] 1 remove value ] ] ]