具有2个参数的方案宏

时间:2014-11-11 17:14:59

标签: macros scheme

我可以定义从左边获取一个参数而从宏的右边部分获得一个参数的宏吗?我想在我的程序中写一些这样的东西:

(test = 10)

定义新变量 我试着写那个宏:

(define-syntax = 
  (syntax-rules ()
    ((a _ b)
     (define a b))))

但我的错误"语法错误:="

1 个答案:

答案 0 :(得分:-1)

由于表单由第一个元素决定,因此test没有绑定问题。

正确的方法是:

(= test 10)

你像这样编写宏:

(define-syntax = 
  (syntax-rules () 
    ((_ a b) (define a b))))

你去吧。没有可怕的中缀语法。