User Tools

Site Tools


modding:function:or

This is an old revision of the document!


Discuss this page

or

See **or** at Xelerus

Syntax (or exp1 [exp2 … expn]) → value/Nil
Arguments exp1: An expression that evaluates to Nil or something else
[exp2 … expn] Additional values
Category logical operator
Returns The value of the first expression that does not return Nil, or Nil if there is none

or |

Description Uses lazy evaluation, which means that it stops after it finds a non-Nil argument or ends up evaluating every argument if all of them return Nil

Example

(or 1 2 3 4 5 (setq foo 6))

This will return 1 and foo will not be set to 6.

(or Nil (eq (setq foo "bar") "baz") "qux")

Returns “qux” and foo will be set to “bar”

	(errblock (error b)
		(setq b (or c 0))
		b
		)

If c has not been bound anything, then this code will return the error No binding for symbol [c] ### (or c 0) ### since errors are not Nil. Beware of bad code when using errBlock, as or will simply evaluate the thrown errors as true

Return to Functions list

modding/function/or.1485389539.txt.gz · Last modified: 2017/01/26 00:12 by 0xabcdef