根据 2 个数字和 1 个运算符执行算术运算
Perform arithmetic operation based on 2 numbers and 1 operator
(define (perform-op m n opt)
(cond
((eqv? opt #\+)(+ m n))
((eqv? opt #\-)(- m n))
)
)
这是函数的一个片段。 m 和 n 是整数,而 opt 是运算符(在本例中为 + 或 -)。这是正确的吗?我是球拍新手。
如果您这样调用函数,您的函数就可以工作:
> (perform-op 1 2 #\+)
3
> (perform-op 1 2 #\-)
-1
如果您希望只有两个操作(在本例中为 #\+
和 #\-
),您可以简化该代码:
(define (perform-op m n opt)
(if (eqv? opt #\+)
(+ m n)
(- m n)))
如果你想这样调用你的函数:(perform-op 1 2 +)
(注意+
在这里是符号,不是字符),你可以简单地写:
(define (perform-op m n opt)
(opt m n))
并调用:
> (perform-op 1 2 +)
3
(define (perform-op m n opt)
(cond
((eqv? opt #\+)(+ m n))
((eqv? opt #\-)(- m n))
)
)
这是函数的一个片段。 m 和 n 是整数,而 opt 是运算符(在本例中为 + 或 -)。这是正确的吗?我是球拍新手。
如果您这样调用函数,您的函数就可以工作:
> (perform-op 1 2 #\+)
3
> (perform-op 1 2 #\-)
-1
如果您希望只有两个操作(在本例中为 #\+
和 #\-
),您可以简化该代码:
(define (perform-op m n opt)
(if (eqv? opt #\+)
(+ m n)
(- m n)))
如果你想这样调用你的函数:(perform-op 1 2 +)
(注意+
在这里是符号,不是字符),你可以简单地写:
(define (perform-op m n opt)
(opt m n))
并调用:
> (perform-op 1 2 +)
3