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 17:51 (14 years ago)] – [Tipos básicos] 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 ===== 
- 
-Un fichero de configuración puede incluir cualquier número de ficheros. Esto ayuda a mantener cortos los ficheros de configuración y concentrarnos en otro aspecto de nuestro juego.\\ 
-Por ejemplo, puedes definir todos las propiedades de objetos/configuraciones de tu [[http://es.wikipedia.org/wiki/Interfaz_de_usuario|UI]] en un fichero llamado ui.ini y etc...\\ 
-Aquí está la sintaxis. 
- 
-<code ini>@path/to/MyIncludedFile@</code> 
- 
-**PD: El camino usado es relativo al directorio de trabajo correspondiente y no para el camino del fichero de configuración que contiene!** 
- 
-Por favor, nota también que el include será hecho en el lugar. Esto significa que cualquier valor definido en el fichero include puede sobreescribir cualquier valor previamente definido. De la misma manera, cualquier valor definido en los ficheros include pueden entonces reemplazarse después. 
- 
-Cuando escribimos cualquier pareja llave/valor después del include sin redefinir una nueva sección, la última sección definida antes del include será usada. 
- 
-<code ini>[MySection] 
-Key1 = Var1 
- 
-@IncludeFile@ 
- 
-Key2 = Var2; <= esto todavía se añadirá a la sección 'MySection'</code> 
- 
-===== Valores numéricos ===== 
- 
- 
-==== Tipos básicos ==== 
- 
-Los valores de punto flotante (float) son expresados usando un separador decimal ('.'). 
- 
-<code ini>MyFloat = 3.5</code> 
- 
-Los enteros pueden ser expresado en las bases mas comunes usando prefijos: 
- 
-  * Decimal, sin usar prefijo 
- 
-<code ini>DecimalValue = 16</code> 
- 
-  * Hexadecimal, prefijo '0x' 
- 
-<code ini>HexadecimalValue = 0x10</code> 
- 
-  * Octal, prefijo '0' 
- 
-<code ini>OctalValue = 020</code> 
- 
-  * Binario, prefijo '0b' 
- 
-<code ini>ValorBinario = 0b10000</code> 
-==== Vector ==== 
- 
- 
-==== Aleatorio ==== 
- 
- 
-===== Listas ===== 
es/orx/config/syntax.1331142708.txt.gz · Last modified: 2025/09/30 17:26 (12 days ago) (external edit)