2011-05-08 9 views
18

Estoy desarrollando un programa con erlang, que necesita leer el archivo de configuración al iniciar, luego carga los datos de configuración en la base de datos. originalmente, usando Ruby o C puedo cargar el archivo YAML o el archivo conf. Quiero saber, en el mundo de Erlang, ¿hay alguna buena forma de cargar el archivo de configuración? ¡Gracias!Cómo analizar el archivo de configuración con erlang?

Este es el archivo YAML-Estilo que necesito para cargar, y no me importa el estilo del archivo de configuración

a: 
    a1: 
    a2: 1 
    a3: 2 
b: 
    b1: 
    b2: 3 
    b3: 4 

Respuesta

31

Si almacena los datos de configuración como términos Erlang puede utilizar el built-in file:consult/1 función para analizarlo.

La forma de estructurar sus datos depende de usted. Por ejemplo, podría utilizar proplist:

{a, [{a1, [{a2, 1}, {a3, 2}]}]}. 
{b, [{b1, [{b2, 3}, {b3, 4}]}]}. 

O clave-valor tuplas con teclas como listas de átomos:

{[a, a1, a2], 1}. 
{[a, a1, a3], 2}. 
{[b, b1, b2], 3}. 
{[b, b1, b4], 4}. 

O con las llaves en forma de cadenas/charlists:

{"a.a1.a2", 1}. 
{"a.a1.a3", 2}. 
{"b.b1.b2", 3}. 
{"b.b1.b4", 4}. 

O con claves como átomos:

{a.a1.a2, 1}. 
{a.a1.a3, 2}. 
{b.b1.b2, 3}. 
{b.b1.b4, 4}. 

Y así sucesivamente. Depende de sus datos y de cómo desea acceder a ellos.

Cuestiones relacionadas