mirror of
https://github.com/adambard/learnxinyminutes-docs.git
synced 2025-08-12 01:34:19 +02:00
fix typo
This commit is contained in:
@@ -11,7 +11,7 @@ translators:
|
|||||||
---
|
---
|
||||||
|
|
||||||
Racket是Lisp/Scheme家族中的一个通用的,多范式的编程语言。
|
Racket是Lisp/Scheme家族中的一个通用的,多范式的编程语言。
|
||||||
非常期待您的反馈!你可以通过[@th3rac25](http://twitter.com/th3rac25)或以用户名为th3rac25的Google游戏爱你过服务
|
非常期待您的反馈!你可以通过[@th3rac25](http://twitter.com/th3rac25)或以用户名为 th3rac25 的Google邮箱服务和我取得联系
|
||||||
|
|
||||||
```racket
|
```racket
|
||||||
#lang racket ; 声明我们使用的语言
|
#lang racket ; 声明我们使用的语言
|
||||||
@@ -125,7 +125,7 @@ my-pet ; => #<dog>
|
|||||||
(dog-name my-pet) ; => "lassie"
|
(dog-name my-pet) ; => "lassie"
|
||||||
|
|
||||||
;;; 对 (不可变的)
|
;;; 对 (不可变的)
|
||||||
;; `cons' 函数返回对, `car' 和 `cdr' 从对中提取第1个
|
;; `cons' 返回对, `car' 和 `cdr' 从对中提取第1个
|
||||||
;; 和第2个元素
|
;; 和第2个元素
|
||||||
(cons 1 2) ; => '(1 . 2)
|
(cons 1 2) ; => '(1 . 2)
|
||||||
(car (cons 1 2)) ; => 1
|
(car (cons 1 2)) ; => 1
|
||||||
@@ -133,7 +133,7 @@ my-pet ; => #<dog>
|
|||||||
|
|
||||||
;;; 列表
|
;;; 列表
|
||||||
|
|
||||||
;; 列表由链表构成, 由 `cons' 函数的结果
|
;; 列表由链表构成, 由 `cons' 的结果
|
||||||
;; 和一个 `null' (或者 '()) 构成,后者标记了这个列表的结束
|
;; 和一个 `null' (或者 '()) 构成,后者标记了这个列表的结束
|
||||||
(cons 1 (cons 2 (cons 3 null))) ; => '(1 2 3)
|
(cons 1 (cons 2 (cons 3 null))) ; => '(1 2 3)
|
||||||
;; `list' 给列表提供了一个非常方便的可变参数的生成器
|
;; `list' 给列表提供了一个非常方便的可变参数的生成器
|
||||||
@@ -141,7 +141,7 @@ my-pet ; => #<dog>
|
|||||||
;; 一个单引号也可以用来表示一个列表字面量
|
;; 一个单引号也可以用来表示一个列表字面量
|
||||||
'(1 2 3) ; => '(1 2 3)
|
'(1 2 3) ; => '(1 2 3)
|
||||||
|
|
||||||
;; 仍然可以使用 `cons' 函数在列表的开始处添加一项
|
;; 仍然可以使用 `cons' 在列表的开始处添加一项
|
||||||
(cons 4 '(1 2 3)) ; => '(4 1 2 3)
|
(cons 4 '(1 2 3)) ; => '(4 1 2 3)
|
||||||
|
|
||||||
;; `append' 函数可以将两个列表合并
|
;; `append' 函数可以将两个列表合并
|
||||||
@@ -169,14 +169,14 @@ my-pet ; => #<dog>
|
|||||||
;; 从一个列表创建一个Set
|
;; 从一个列表创建一个Set
|
||||||
(list->set '(1 2 3 1 2 3 3 2 1 3 2 1)) ; => (set 1 2 3)
|
(list->set '(1 2 3 1 2 3 3 2 1 3 2 1)) ; => (set 1 2 3)
|
||||||
|
|
||||||
;; 使用 `set-add' 函数增加一个成员
|
;; 使用 `set-add' 增加一个成员
|
||||||
;; (函数式特性: 这里会返回一个扩展后的Set,而不是修改输入的值)
|
;; (函数式特性: 这里会返回一个扩展后的Set,而不是修改输入的值)
|
||||||
(set-add (set 1 2 3) 4) ; => (set 1 2 3 4)
|
(set-add (set 1 2 3) 4) ; => (set 1 2 3 4)
|
||||||
|
|
||||||
;; 使用 `set-remove' 函数移除一个成员
|
;; 使用 `set-remove' 移除一个成员
|
||||||
(set-remove (set 1 2 3) 1) ; => (set 2 3)
|
(set-remove (set 1 2 3) 1) ; => (set 2 3)
|
||||||
|
|
||||||
;; 使用 `set-member?' 函数测试成员是否存在
|
;; 使用 `set-member?' 测试成员是否存在
|
||||||
(set-member? (set 1 2 3) 1) ; => #t
|
(set-member? (set 1 2 3) 1) ; => #t
|
||||||
(set-member? (set 1 2 3) 4) ; => #f
|
(set-member? (set 1 2 3) 4) ; => #f
|
||||||
|
|
||||||
@@ -194,15 +194,15 @@ my-pet ; => #<dog>
|
|||||||
;; 你可以给不存在的键提供一个默认值
|
;; 你可以给不存在的键提供一个默认值
|
||||||
(hash-ref m 'd 0) ; => 0
|
(hash-ref m 'd 0) ; => 0
|
||||||
|
|
||||||
;; 使用 `hash-set' 函数来扩展一个不可变的散列表
|
;; 使用 `hash-set' 来扩展一个不可变的散列表
|
||||||
;; (返回的是扩展后的散列表而不是修改它)
|
;; (返回的是扩展后的散列表而不是修改它)
|
||||||
(define m2 (hash-set m 'd 4))
|
(define m2 (hash-set m 'd 4))
|
||||||
m2 ; => '#hash((b . 2) (a . 1) (d . 4) (c . 3))
|
m2 ; => '#hash((b . 2) (a . 1) (d . 4) (c . 3))
|
||||||
|
|
||||||
;; 记住,使用 `hash` 函数创建的散列表是不可变的
|
;; 记住,使用 `hash` 创建的散列表是不可变的
|
||||||
m ; => '#hash((b . 2) (a . 1) (c . 3)) <-- no `d'
|
m ; => '#hash((b . 2) (a . 1) (c . 3)) <-- no `d'
|
||||||
|
|
||||||
;; 使用 `hash-remove' 函数移除一个键值对 (函数式特性,m并不变)
|
;; 使用 `hash-remove' 移除一个键值对 (函数式特性,m并不变)
|
||||||
(hash-remove m 'a) ; => '#hash((b . 2) (c . 3))
|
(hash-remove m 'a) ; => '#hash((b . 2) (c . 3))
|
||||||
|
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
@@ -437,7 +437,7 @@ m ; => '#hash((b . 2) (a . 1) (c . 3)) <-- no `d'
|
|||||||
(set! n (add1 n))
|
(set! n (add1 n))
|
||||||
n ; => 6
|
n ; => 6
|
||||||
|
|
||||||
;; 给那些明确的需要变化的值使用 `boxes` (在其他语言里类似指针
|
;; 给那些明确地需要变化的值使用 `boxes` (在其他语言里类似指针
|
||||||
;; 或者引用)
|
;; 或者引用)
|
||||||
(define n* (box 5))
|
(define n* (box 5))
|
||||||
(set-box! n* (add1 (unbox n*)))
|
(set-box! n* (add1 (unbox n*)))
|
||||||
|
Reference in New Issue
Block a user