lua-users home
lua-l archive

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


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