lua-users home
lua-l archive

[Date Prev][Date Next][Thread Prev][Thread Next] [Date Index] [Thread Index]




Am 11.05.2016 um 09:34 schrieb Sean Conner:
It was thus said that the Great Thomas Jericke once stated:
On 05/10/2016 08:32 PM, Andrew Starks wrote:

To answer your question: One of Lua's main use cases is as a
configuration language. That is: <yourconfigfile.lua> Window_x = 5
Window_y = 100 ...is a very useful syntax for a configuration file
that you might employ in your application. Adding "global" or "local"
to the front of each declaration would be ugly and detract from this
simplicity. Hopefully, in this context, we can agree that "global by
default" makes some sense. -Andrew

I don't think it's a bad idea to structure your configuration
parameters. And once you do that you don't have that many globals in
configuration files either:

return {
    Window = {
        x = 5
        y = 100
    }
}
end

  But there's no need for the return ("Why do I need a 'return' in a
configuration file?").  A configuration file like:

	name       = "A Blog Grows in Cyberspace"
	basedir    = "$HOME/source/boston/journal"
	webdir     = "$HOME/source/boston/htdocs"
	lockfile   = webdir .. ".modblog.lock"
	url        = "http://www.example.com/blog/";
	author     = { name = "Joe Blog" , email = "joe@example.com" }
	timezone   = "-8:00"
	adtag      = "programming"
	debug      = false
	conversion = "html"

doesn't have to end up setting a bunch of globals:

	config = {}
	f = ("config.file","t",config)
	f()

	print(config.name) -- Tadaaaaaah!

  -spc

You probably missed loadfile:
 	config = {}
 	f = loadfile("config.file","t",config)
 	f()

 	print(config.name) -- Tadaaaaaah!

Ulrich.