@dhromed said:
Show it.I'd like to see some Lisp.
As requested. Here's a function for use with TBNL[0] that checks a URL query parameter against a list of values or an arbitrary test function and returns the parameter value if it's valid and a default otherwise:
On one line:
(defun valid-parameter (parameter-name &key good-values test (default 'nil)) (cond ((boundp 'good-values) (or (find (parameter parameter-name) good-values) default)) (test (or (funcall test (parameter parameter-name)) default)) ('t default)))
Split in to lines and indented for clarity:
(defun valid-parameter (parameter-name &key good-values test (default 'nil))
(cond ((boundp 'good-values)
(or (find (parameter parameter-name)
good-values)
default))
(test
(or (funcall test
(parameter parameter-name))
default))
('t default)))
Any formatting issues are the responsibility of telligentsystems.
[0] http://weitz.de/tbnl