User Tools

Site Tools


es:orx:config:syntax

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
es:orx:config:syntax [2012/03/07 16:55 (14 years ago)] – [Herencia] zeraes:orx:config:syntax [2020/08/20 04:15 (5 years ago)] (current) – Old content sausage
Line 1: Line 1:
-====== Sintaxis de configuración ====== 
  
- 
- 
-===== Sintaxis básica ====== 
- 
-Como es tradicional en los [[http://es.wikipedia.org/wiki/INI_(extensión_de_archivo)| ficheros INI]], toda la información de configuración es expresada usando parejas de llave/valor.\\ 
-Estas parejas están organizadas en secciones. 
- 
-Una sección es declarada con corchetes (''[]'' - ES-ES). Todas las parejas de llave/valor definidas debajo serán parte de esta sección.\\ 
-Esta sección termina cuando otra comienza. 
- 
-<code ini>[Section]</code> 
- 
-Llaves y valores son delimitados con signo de igual (''='').\\ 
- 
-<code ini>Key = Value</code> 
- 
-Punto y coma ('';'') indica el comienzo de un comentario. El comentario continua hasta el final de la linea. 
- 
-<code ini>; Esto es un comentario y será ignorado por el módulo de configuración</code> 
- 
-Las secciones pueden ser definidas en más de un lugar. Incluso pueden abarcar varios ficheros de configuración. 
- 
-He aquí un ejemplo. 
- 
-<code ini>; Aquí tenemos un ejemplo de una sintaxis de configuración de orx 
-[MySection] ; Esto define el inicio de 'MiSección'('MySection') 
-MyKey      = MyValue; Aquí damos un valor a 'MiLlave'('MyKey') 
-MyOtherKey = MyOtherValue; Y aquí damos uno para 'MiOtraLlave('MyOtherKey') 
- 
-[MyOtherSection]; Aquí termina 'MySection' y estamos ahora en 'MiOtraSección'('MyOtherSection') 
-AKey = Otro valor 
- 
-[MySection]; Estamos de regreso a 'MySection' 
-MyLastKey = MyLastValue; Añadiendo otra pareja llave/valor a 'MySection'</code> 
- 
-**PD: Los espacios alrededor del operador de asignación ('=') son recortados y simplemente ignorados por la configuración del sistema.** 
- 
-Si quieres usar un ';' como parte de un valor no-númerico, necesitas usar una asignación en bloque. Los bloques son delimitados con comillas dobles ''''. Los bloques también son la única manera de tener valores cubriendo varias lineas. 
- 
-<code ini>MyKey      = "MyValuePart1 ; MyValuePart2" 
-MyOtherKey = "Este valor 
-se extiende 
-en múltiples lineas"</code> 
- 
-Si doblas las primeras '''', la cadena no será considerada como un bloque pero si como un valor normal y tendremos un '''' como inicio del valor. 
- 
-<code ini>MyKey = ""MyQuotedValue"</code> 
-Aquí la cadena ''''MiValorCitado''''(''''MyQuotedValued'''') (incluyendo las comillas dobles), serán almacenadas como un valor para la llave 'MyKey'. 
-===== Herencia ===== 
- 
-El sistema de herencia esta basado en la misma idea que [[http://es.wikipedia.org/wiki/Herencia_(informática)|la herencia en programación orientada a objetos].\\] 
- 
-La idea básica es que todas las llaves definidas en una sección pueden ser heredadas por cualquier otra sección((herencia cíclica **no** está soportada)).\\ 
-La sección hereditaria(acá, la sección hija) puede entonces añadir nuevas llaves o sobreescribir cualquier llave definida en la sección padre. 
- 
-Para hacer esto, la arroba('@' - ES-ES) es usada como marcador de herencia. 
- 
-<code ini>[Parent] 
-MyKey1 = MyValue1 
-MyKey2 = MyValue2 
- 
-[Child@Parent]; <= La sección 'Hijo'('Child') contiene ahora todas las parejas llave/valor definidas en la sección 'Padre'('Parent')</code> 
- 
-Si no quieres heredar una sección entera, puedes también usar herencia directa de una sola llave.\\ 
-Si la llave padre no tiene el mismo nombre del hijo, puedes especificar su nombre completo usando el separador punto('.' además del marcador de herencia. 
- 
-<code ini>[Parent] 
-MyKey      = MyValue 
-MyOtherKey = MyOtherValue 
- 
-[Child] 
-MyKey     = @Parent; <= El valor de 'MyKey' será heredado de uno definido en la sección 'Parent', con el mismo nombre de llave. 
-MyLastKey = @Parent.MyKey; <= El valor para 'MiÚltimaLlave'('MyLastKey') será heredado de la llave 'MyKey' definida en la sección 'Parent'.</code> 
- 
-En el ejemplo anterior, vimos que ambas 'MyKey' y 'MyLastKey' de la sección 'Child' heredan de 'MyKey' de la sección 'Parent'.\\ 
-En este ejemplo, la llave 'MyOtherKey' no será heredada en la sección 'Child'. 
- 
-Cuando usamos herencia, cuando el valor de las llaves padres cambian, incluso en tiempo de ejecución, el valor hijo será cambiado.\\ 
-Valores heredados pueden ser cambiados como vemos en el siguiente ejemplo. 
- 
-<code ini>[GrandParent] 
-MyKey      = MyValue 
-MyOtherKey = MyOtherValue 
- 
-[Parent] 
-MyKey = @GrandParent 
- 
-[Child@Parent]</code> 
- 
-En la sección 'Child', solo una llave llamada 'MyKey' es definida. Su valor es heredado  de la sección 'Parent' quien lo heredó del 'Abuelo'('GrandParent'). En otras palabras, cuando ''GrandParent.MyKey'' cambia, ambas ''Parent.MyKey'' y ''Child.MyKey'' serán afectadas. 
-===== Includes ===== 
- 
- 
- 
-===== Valores numéricos ===== 
- 
- 
-==== Tipos básicos ==== 
- 
- 
-==== Vector ==== 
- 
- 
-==== Aleatorio ==== 
- 
- 
-===== Listas ===== 
es/orx/config/syntax.1331139351.txt.gz · Last modified: 2025/09/30 17:26 (12 days ago) (external edit)