语法
Hello World
1 | #lang racket |
四则运算
1 | # 加法 |
String
字符串拼接1
(string-append "你好" "," "世界!")
字符串格式化1
(format "~a,~a!" "你好" "世界")
Function
在Racket里,人们往往使用一些约定俗成的符号来让函数的可读性更强,比如说判定系列的函数都统一用 ? 来结尾, 而转换系列的函数用 -> 来注明。
1 | # 测试是否为字符串 |
Expression
#%expression 强制定义表达式
1 | (number? (+ 1 2)) |
Quote
1 | (quote x) => `x |
Variable
define
define既可以定义变量,也可以定义函数。
默认情况下,变量的值是不可变的,它只能绑定和重新绑定。
1 | (define PI 3.1415926) |
define 是可以做全局绑定的,每次只能绑定一个变量。
let let*
如果想一次绑定多个变量,可以使用 let,let 是局部绑定。在绑定的过程中,需要互相引用,可以使用 let*
1 | (let ([x 5]) x) => 5 |
let-values let*-values
一次绑定多个值
1 | (let-values ([(x y) (quotient/remainder 10 3)]) |
Lib
引入库关键字require
1 | (require 2htdp/image) |