日記/2007-02-18
2007-02-18 (日) 09:01:13
拍手的な。対応。
すっかり私信・対談風になってますが(^^;
iniファイルのlua化関連。†
いろいろご指摘ありがとうございます。
引用すると長いので、こちらの理解で書いてしまうと要は
- 設定用のlua ファイルを例えば「config.lua」として準備する。
- エラーチェックでconfig.luaのrequire失敗は無視して強行。
- これによって、config が適切に書かれていればエラーなし。
- config不良(読み込めないレベルの編集ミス)があれば、configでの定義がなされないだけ:設定変数類がnilなり他の場所での定義値になる。
・・・ってことですね。
確かにそれならば可能そうです。
この方式に問題があるとすれば、設定失敗時(編集ミス時)の再修整が困難になりそうな点、でしょうか。
現状のGlenelg(==iniファイル方式)では、iniファイルを1行ずつ解析するので、記述ミスがあればその行を無視するだけなので、1つミスをしても他の項目は有効。
そして「どの値がうまく行ってないのか」がわかるので、それをダイレクトに警告しています。
ですが上記lua方式では致命的な記載があると、configそのもののを読めないですから、そこにある設定全体が無効になります。
そして「何が悪いか」を限定するのが困難そうです:エラーコードに行数記述はありますけど、それを見せても「luaを知らない」人がそこから直せるかというと、怪しいかもしれません。
まあ、現状でもエラーチェックが完璧かというとそんなこともないですので、ごまかせる範囲ではありそう。