[[Lua演習]]
*メッセージログ機能とは [#dcc9086c]
一定以上の規模のモデルでは、モデルで発生した事態(ライブラリを読み込んだとか着陸脚を上げたとか)をユーザに通知する統一された手段を用意することで操作が容易となる。以下ではこのような手段のことを"メッセージログ"と呼び、それらが通常備える機能やそれを利用することのメリット、デメリットについて説明する。
*メッセージログの特徴 [#j65f5cd8]
**メッセージログに通常備えられる機能 [#wb8d0b98]
+outと同等の手間でメッセージを表示できる
+メッセージは時間が経過すると自動的に表示されなくなる
+メッセージは追加した順番に表示される
**メッセージログを用いるメリット [#jd3cdd55]
+outを使って表示する場合、ただ呼び出すだけでは1Fしか表示されない恐れがある上、他のメッセージと表示位置が重なる危険性もある。一方でメッセージログはこれらの問題を生じさせない
+浪漫。
**メッセージログを用いるデメリット [#ba6b4c0c]
+メッセージの更新等のために毎F必ず決まった関数を呼び出す必要がある
+メッセージログが使うかもしれない行にoutで表示するのがためらわれる
*実装 [#h443da73]
hikeo/stdlib.luaのものがよく使われる。練習として同等の動作をするものを作ってみるとよい
*発展 [#rdd18e1b]
オブジェクト志向を用いて、"ログ機能"を抽象化してILoggerとして分離し、RC窓にoutで表示するログ、ファイルに保存するログなどを一括して扱えるようにすると便利かもしれない