if-statement - 条件如果和或在 Racket

标签 if-statement lisp scheme racket

有人可以在 Racket 中为我解释这些功能吗?我完全迷路了。请帮我举一些例子。谢谢!我就是无法为我的生活弄清楚这些功能。

最佳答案

首先,如果:

(if (positive? 1) 1 -1)

Racket 首先评估 1 是否为正数(这是第一个表达式(正数?1))。如果是,则返回 1,否则,返回 -1。这相当于类 C 的语言在做:

if ( positive?(1))
  return 1
else
  return -1

Cond 基本上是一个有多个选项的 if。类 C 语言中的等价物是 else-if

(cond [(first-condition) (what-to-do)]
      [(second-condition) (what-to-do)]
      [(third-condition) (you-get-the-idea)])

And和Or只是逻辑运算符,相当于&&和||在类 C 语言中

(and true true) => true
(and true false) => false

(or true true) => true
(or true false) => true
(or false false) => false

关于if-statement - 条件如果和或在 Racket ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19569284/

相关文章:

python - 嵌套 if 子句 vs 级联返回 vs 断言

javascript - 每 X 秒检查一次 IF 语句,然后运行代码一次

date - 如果 Get-Date 位于日期范围之间

lisp - 大象数据库

scheme - Lisp/Scheme 中的引号与字符串相同吗?

Python:如何通过循环将 Dataframe 中的 2 列相乘来仅替换列中的 0 个值?

macros - defun 或 setf 是否更适合在 common lisp 中创建函数定义?为什么?

lisp - 加快删除相邻的重复项

floating-point - Lisp:为什么 (- 1e16 1) 产生 10000000000000000 而不是 9999999999999999?

c - 如何实现延续?