私は、プロジェクト鉱山の設定フォーマットとしてLuaを使用しています。のは、私は以下の不自然な例を持っているとしましょう、私たちはconf.lua
呼ぶことにします:特定のスコープでロードされたLuaファイルを実行する
title = "Lorem Ipsum"
author = "John Doe"
date = "01 January 2000"
を今、自明、私はもちろんそうのように、このファイルを読み込むことができます。
はdofile("conf.lua")
しかし、これで問題がありますこれらの定義はグローバルな名前空間に設定されていますが、これは私が望まないものです。さらに、全体として異なる変数にアクセスすることを困難にする(例えば、構成変数のセットをループする)。一つの解決策はそうのようなconf.lua
を書き換えることであろう。
local conf = {
title = "Lorem Ipsum",
author = "John Doe",
date = "01 January 2000"
}
return conf
と順番に、次のコードで負荷conf.lua
:
local configuration = dofile("conf.lua")
はしかし、これは私が明白な理由を考えるために非理想的です。私のユーザーは、最後にテーブルを返すことを覚えておくために、local
と書く必要があるため、カンマを追跡する必要があります。いくつかのソートのカスタムスコープでconf.lua
を実行させる何らかの方法がある場合は、いいと思います。