Browse Source

Implementado cambio para escapar llaves en diccionarios

Ernesto Blanco 7 years ago
parent
commit
aa77c88c09
3 changed files with 15 additions and 3 deletions
  1. 2 0
      cb2t.py
  2. 5 1
      ejemplo.py
  3. 8 2
      readme.md

+ 2 - 0
cb2t.py

@@ -64,6 +64,8 @@ for linea in f:
             else:
                 fin=""
     if len(linea)>0:
+        linea=linea.replace("\{", "{")
+        linea=linea.replace("}\\", "}")
         g.write(tabSimbol*numTabs+linea+blockSimbol+returnSimbol)
     numTabs=numTabs+nextTabs
     nextTabs=0

+ 5 - 1
ejemplo.py

@@ -13,4 +13,8 @@ print("Hola "+nombre)
 print("Hola mundo")
 }
 }
-saludo()
+# Creando un diccionario con caracteres de escape en las llaves
+personas=\{"Ernesto":5,"Juan":2,"Pedro":3}\
+for persona in personas{
+    saludo(persona, personas[persona])
+}

+ 8 - 2
readme.md

@@ -8,6 +8,10 @@ El script convierte las llaves tanto al principio como al final de cada línea,
 
 Los retornos de carro utilizados en el archivo origen son respetados en el archivo destino, tanto para Windows, Mac o Linux.
 
+Para usar llaves en diccionarios, será necesario usar el caracter de escape, ejemplo "\{" para iniciarlo y "}\" para cerrarlo.
+
+personas=\{"Ernesto":5,"Juan":2,"Pedro":3}\
+
 ## Funcionamiento
 
 $ py cb2t.py --help
@@ -38,8 +42,10 @@ Ejecutar el script al terminar. Default: false
 
 $ py cb2t.py -i ejemplo.py -o ejemplo2.py -t tabs -x true
 
+Se incluye el script de ejemplo con llaves.
+
 ## Anotaciones y Errores detectados
 
 * Solo son interpretadas las llaves que están o al principio o al final de cada línea, no se procesan llaves intermedias.
-* Si una línea comienza con "{", el signo de ":" no se aplica a la línea anterior, por lo que se recomienda poner las llaves de abrir al final de la línea donde comenzará el bloque, ejemplo def funcion(parametro){
-* Aún no implementada la omisión en las llaves usadas en los diccionarios
+* Si una línea comienza con "{", el signo de ":" no se aplica a la línea anterior, por lo que se recomienda poner las llaves de abrir al final de la línea donde comenzará el bloque, ejemplo: "def funcion(parametro){"
+* En los diccionarios hay que usar los signos de escape en las llaves, a fin de que se copien al script de destino, mirar en el apartado descripción la manera.