日記/2007-02-18

2007-02-18 (日) 09:01:13 (3989d)
お名前:

拍手的な。対応。
すっかり私信・対談風になってますが(^^;

iniファイルのlua化関連。

いろいろご指摘ありがとうございます。
引用すると長いので、こちらの理解で書いてしまうと要は

  • 設定用のlua ファイルを例えば「config.lua」として準備する。
  • エラーチェックでconfig.luaのrequire失敗は無視して強行。
    • これによって、config が適切に書かれていればエラーなし。
    • config不良(読み込めないレベルの編集ミス)があれば、configでの定義がなされないだけ:設定変数類がnilなり他の場所での定義値になる。

・・・ってことですね。
確かにそれならば可能そうです。

この方式に問題があるとすれば、設定失敗時(編集ミス時)の再修整が困難になりそうな点、でしょうか。

現状のGlenelg(==iniファイル方式)では、iniファイルを1行ずつ解析するので、記述ミスがあればその行を無視するだけなので、1つミスをしても他の項目は有効。
そして「どの値がうまく行ってないのか」がわかるので、それをダイレクトに警告しています。

ですが上記lua方式では致命的な記載があると、configそのもののを読めないですから、そこにある設定全体が無効になります。
そして「何が悪いか」を限定するのが困難そうです:エラーコードに行数記述はありますけど、それを見せても「luaを知らない」人がそこから直せるかというと、怪しいかもしれません。

まあ、現状でもエラーチェックが完璧かというとそんなこともないですので、ごまかせる範囲ではありそう。