diff options
Diffstat (limited to 'racket.html.markdown')
| -rw-r--r-- | racket.html.markdown | 10 | 
1 files changed, 8 insertions, 2 deletions
| diff --git a/racket.html.markdown b/racket.html.markdown index d43ac5e2..fbd3f76a 100644 --- a/racket.html.markdown +++ b/racket.html.markdown @@ -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...) | 
