1
0
mirror of https://github.com/adambard/learnxinyminutes-docs.git synced 2025-08-23 06:43:37 +02:00

Add boxes example.

This commit is contained in:
Eli Barzilay
2013-07-16 02:08:28 -04:00
parent 7a92ee7ab8
commit 159b7e4e1e

View File

@@ -354,11 +354,17 @@ m ; => '#hash((b . 2) (a . 1) (c . 3)) <-- no `d'
;; 6. Mutation
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; Use set! to assign a new value to an existing variable
;; Use `set!' to assign a new value to an existing variable
(define n 5)
(set! n 6)
(set! n (add1 n))
n ; => 6
;; Use boxes for explicitly mutable values (similar to pointers or
;; references in other languages)
(define n* (box 5))
(set-box! n* (add1 (unbox n*)))
(unbox n*) ; => 6
;; Many Racket datatypes can be immutable or mutable
;; (Pairs, Lists, Strings, Vectors, Hash Tables, etc...)