Racket 根据2个数字和1个运算符执行算术运算
这是函数的一个片段。m和n是整数,opt是运算符(在本例中为+或-)。是这样吗?我不熟悉球拍。如果您这样称呼它,您的函数会起作用:Racket 根据2个数字和1个运算符执行算术运算,racket,Racket,这是函数的一个片段。m和n是整数,opt是运算符(在本例中为+或-)。是这样吗?我不熟悉球拍。如果您这样称呼它,您的函数会起作用: (define (perform-op m n opt) (cond ((eqv? opt #\+)(+ m n)) ((eqv? opt #\-)(- m n)) ) ) 如果只需要两个操作(在本例中为\+和\-),则可以简
(define (perform-op m n opt)
(cond
((eqv? opt #\+)(+ m n))
((eqv? opt #\-)(- m n))
)
)
如果只需要两个操作(在本例中为\+
和\-
),则可以简化该代码:
> (perform-op 1 2 #\+)
3
> (perform-op 1 2 #\-)
-1
如果您想像这样调用函数:(执行op12+
(注意,+
在这里是符号,而不是字符),您可以简单地编写:
(define (perform-op m n opt)
(if (eqv? opt #\+)
(+ m n)
(- m n)))
并致电:
(define (perform-op m n opt)
(opt m n))
> (perform-op 1 2 +)
3