新手问题:你怎么用球拍写这个?
10x - 6 = 3x + 7
我很难弄清楚我会把= 3x + 7
放在哪里。
答案 0 :(得分:2)
试试这个:
(= (- (* 10 x) 6)
(+ (* 3 x) 7))
当然,假设先前已为x
变量分配了值。现在,如果要将表达式作为函数的一部分进行求值(如标题所示),那么执行以下操作:
(define (test x)
(= (- (* 10 x) 6)
(+ (* 3 x) 7)))
答案 1 :(得分:0)
优先级的数学约定,声明如此:
((10 * x) - 6) = ((3 * x) + 7)
在数学中,我们在表达式的中间编写运算符:foo OP bar
,但在Racket中,运算符首先出现:(OP foo bar)
。因此,如果您只是将每个表达式混合以匹配Racket方式,那么您将得到:
((10 * x) - 6) = ((3 * x) + 7) ;=> swap = and (10x - 6)
(= ((10 * x) - 6) ((3 * x) + 7)) ;=> swap - and 10x
(= (- (10 * x) 6) ((3 * x) + 7)) ;=> swap * and 10
(= (- (* 10 x) 6) ((3 * x) + 7)) ;=> swap + and 3x
(= (- (* 10 x) 6) (+ (3 * x) 7)) ;=> swap * and 3
(= (- (* 10 x) 6) (+ (* 3 x) 7)) ;=> done
现在我们已经重新安排了表达式,因此运算符首先出现,我们有一个有效的Racket表达式。