hello <div>I am a scheme beginner</div><div>I am learning big-bang function with the book, how to design programs </div><div>but I still have no idea how big-bang function exactly work.</div><div><br></div><div><div>#lang racket</div>
<div>(require 2htdp/image)</div><div>(require 2htdp/universe)</div><div>(define (handle-draw model) (text model 18 "blue"))</div><div>(define (handle-key old-model key) key)</div><div>(big-bang "" ; initial model is empty string</div>
<div> (check-with string?) ; model is a string</div><div> (on-draw handle-draw 400 50) ; display text in 150x50 pixel window</div><div> (on-key handle-key))</div></div><div><br></div><div>could somebody please tell me how this code exactly work?</div>
<div>my guessing is this </div><div><br></div><div>there is only one checking function. </div><div>if it is true, keep big-bang going. </div><div>if it is false, it stops.</div><div>the first argument of big-bang "" is going to be sent to handle-draw by on-draw</div>
<div>if key pressed, that handle-draw's return value is going to be sent to handle-key as second argument by on-key</div><div>big-bang's first argument "" is changed to the handle-key's return value.</div>
<div>and big-bang start again from the beginning with that value as first argument</div><div><br></div><div>I still have no idea about the old-model argument.</div><div>is check-with function must be there?</div><div><br>
</div><div>thanks in advanced</div><div><br></div>