Macro defmac::defmac [] [src]

macro_rules! defmac {
    ($name:ident => $e:expr) => { ... };
    ($name:ident $x:pat => $e:expr) => { ... };
    ($name:ident $x1:pat, $x2:pat => $e:expr) => { ... };
    ($name:ident $x1:pat, $x2:pat, $x3:pat => $e:expr) => { ... };
    ($name:ident $x1:pat, $x2:pat, $x3:pat, $x4:pat => $e:expr) => { ... };
}

A macro to define lambda-like macros inline.

Syntax:

defmac!( name [ pattern [, pattern ... ]] => expression )

name is the name of the new macro, followed by 0 or more patterns separated by comma. A pattern can be just an argument name like x or a pattern like ref value, (x, y) etc.

Supports up to four arguments.