编程语言中的increment
和decrement
运算符是什么scheme
。我正在使用“ Dr.Racket”,它不被接受-1+
并1+
作为运算符。而且,我也尝试了incf
和decf
,但没有用。
由于Scheme和Racket试图避免突变,因此未对它们进行定义。但您可以自己轻松定义它们:
(define-syntax incf
(syntax-rules ()
((_ x) (begin (set! x (+ x 1)) x))
((_ x n) (begin (set! x (+ x n)) x))))
(define-syntax decf
(syntax-rules ()
((_ x) (incf x -1))
((_ x n) (incf x (- n)))))
然后
> (define v 0)
> (incf v)
1
> v
1
> (decf v 2)
-1
> v
-1
请注意,这些是语法扩展(aka宏),而不是简单的过程,因为Scheme不会通过引用传递参数。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句