Read a configuration file: Difference between revisions

Content added Content deleted
No edit summary
No edit summary
Line 2,753: Line 2,753:
</pre>
</pre>
=={{header|Nanoquery}}==
<lang nanoquery>import Nanoquery.IO
import dict

def get_config(fname)
f = new(File).open(fname)
lines = split(f.readAll(), "\n")

values = new(Dict)
for line in lines
line = trim(line)
if len(line) > 0
if not (line .startswith. "#") or (line .startswith. ";")
tokens = split(line, " ")

if len(tokens) = 1
values.add(upper(tokens[0]), true)
else
parameters = list()
parameter = ""
for i in range(1, len(tokens) - 1)
parameter += tokens[i] + " "
if parameter .endswith. ", "
parameter = parameter.substring(0, len(parameter) - 2)
parameters.append(trim(parameter))
parameter = ""
end
end
parameters.append(trim(parameter))
if len(parameters) > 1
values.add(upper(tokens[0]), parameters)
else
values.add(upper(tokens[0]), parameters[0])
end
end
end
end
end

return values
end

println get_config(args[2])</lang>
{{out}}
<pre>[[FULLNAME : Foo Barber], [FAVOURITEFRUIT : banana], [NEEDSPEELING : true], [OTHERFAMILY : [Rhu Barber, Harry Barber]]]</pre>

=={{header|OCaml}}==
=={{header|OCaml}}==