【问题标题】:Racket Scheme - if else statements球拍方案 - if else 语句
【发布时间】:2018-01-22 22:09:51
【问题描述】:

目前正在使用球拍,找不到太多帮助,想知道是否有人可以帮助我..

我有

(define (reciprocal x) (/ 1 x))

但是,将 0 作为前任是行不通的。 所以我尝试将其修改为

(define (reciprocal x) (if (= x 0)((#f)(/ 1 x)))

我不确定我做错了什么,我希望如果 x = 0 它会返回 false,但它不会这样做。我仍然可以得到倒数,只是不检查 x。有人可以指出我在这里做错了什么吗?谢谢!

【问题讨论】:

标签: scheme racket


【解决方案1】:

您需要重新构造 if-else 子句。此表单的典型 Scheme 语法如下:

(if (predicate expression) then else)

所以你会重写你的代码如下:

(define (reciprocal x) (if (= x 0) #f (/ 1 x)))

【讨论】:

  • 谢谢,我明白我做错了什么。非常感谢
  • 您可能会看到人们使用and,例如(and (not (zero? x)) (/ 1 x))
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-12-03
  • 2014-05-22
  • 2019-04-09
  • 1970-01-01
  • 2017-02-05
  • 2015-07-06
  • 2012-08-05
相关资源
最近更新 更多