swh:1:snp:3af89e0c6f482ba7e9545bf8e295ed747de3e1ee
Raw File
Tip revision: 74aa793fb3f7dd653b5bad8d1ffe800fb481aba0 authored by Dan Malec on 28 January 2023, 17:40:04 UTC
Merge pull request #152 from jrincayc/manual_updates
Tip revision: 74aa793
cond
COND clauses						(library procedure)

	command or operation.  The input is a list of lists (clauses); each
	clause is a list whose first element is either an expression whose
	value is TRUE or FALSE, or the word ELSE, and whose butfirst is a Logo
	expression or instruction.  COND examines the clauses in order.  If a
	clause begins with the word ELSE (upper or lower case), then the
	butfirst of that clause is evaluated and CASE outputs its value, if
	any.  Otherwise, the first element of the clause is evaluated; the
	resulting value must be TRUE or FALSE.  If it's TRUE, then the
	butfirst of that clause is evaluated and COND outputs its value, if
	any.  If the value is FALSE, then COND goes on to the next clause.  If
	no clause is satisfied, COND does nothing.  Example:

		to evens :numbers	; select even numbers from a list
		op cond [ [[emptyp :numbers] []]
		          [[evenp first :numbers]  ; assuming EVENP is defined
		           fput first :numbers evens butfirst :numbers]
		          [else evens butfirst :numbers] ]
		end


back to top