Section 39
Want more of a challenge? View in
iconic
form (
experimental
)
# OBJECT wrapper class for cells
[
hear
]
(class cell
(initial-value)
(field content
(make-cell
(initial-value)
)
)
(method get
(get!
(content)
)
)
(method set
(lambda
(new-value)
(set!
(content)
(new-value)
)
)
)
(method reset
(self set
(initial-value)
)
)
(method unknown
(lambda
(x)
(
(objectify
(self get)
)
(x)
)
)
)
);
[
hear
]
(define cell-test1
(cell new 15)
);
[
hear
]
(= 15
(cell-test1 get)
);
[
hear
]
(cell-test1 set 82);
[
hear
]
(= 82
(cell-test1 get)
);
[
hear
]
(define cell-test2
(cell new
(point new 120 150)
)
);
[
hear
]
(define cell-test3
(cell new
(point new 300 300)
)
);
[
hear
]
(cell-test2 +
(cell-test3)
=
(point new 420 450)
);
[
hear
]
(not
(cell-test2 =
(cell-test3)
)
);
[
hear
]
(cell-test3 set
(cell-test2)
);
[
hear
]
(cell-test2 =
(cell-test3)
);