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