Next: lambda* Reference, Previous: let-optional Reference, Up: Optional Arguments
let-keywords
and let-keywords*
are used for extracting
values from argument lists which use keywords instead of argument
position for binding local variables to argument values.
let-keywords
binds all variables simultaneously, while
let-keywords*
binds them sequentially, consistent with let
and let*
(see Local Bindings).
These macros pick out keyword arguments from rest-arg, but do not modify it. This is consistent at least with Common Lisp, which duplicates keyword arguments in the rest argument. More explanation of what keyword arguments in a lambda list look like can be found below in the documentation for
lambda*
(see lambda* Reference). bindings can have the same form as forlet-optional
. If allow-other-keys? is false, an error will be thrown if anything that looks like a keyword argument but does not match a known keyword parameter will result in an error.After binding the variables, the expressions expr ... are evaluated in order.