2010年1月10日日曜日

Extending the Model

次に、投稿毎にコメントのリストを保持出来るようにアプリを拡張しましょう。ブログのデータ定義を次のように改良します:

(struct post (title body comments)
#:mutable)
title : string?
body : string?
comments : (listof string?)


Exercise.改良した投稿のデータストラクチャを書いてみてください。投稿にコメントを加える事を意図して、ストラクチャは変更可能にしてください。

Exercise.いくつか投稿の例を作ってみてください。

Exercise.post-add-comment!機能を定義してください。


post-add-comment! : (post? string? . -> . void)


意図的な副作用は、投稿のコメントリストの最後に新しいコメントを追加するものとします。

Exercise.render-postを生成された要素が項目別リストでコメントを含むように調整してみてください。

Exercise.投稿がコメントを含むように拡張したので、アプリの他の投稿操作部分、例えばmake-postの用途など、も調整が必要となります。投稿の新しいストラクチャへの適応が必要なアプリの他の部分を見分けて修正してください。



投稿のデータストラクチャを変更して、改良したストラクチャを扱う機能を調整すると、webアプリは実行可能となります。ユーザは労力の成果が分かるでしょう:BLOGの初期値がコメント付きの投稿であれば、ユーザは現時点でコメントを見る事が出来るでしょう。しかし明らかに足りないものがあります:ユーザ向けの、投稿にコメントを追加するユーザーインターフェースが無いのです!

0 件のコメント:

コメントを投稿