usos usar lib formato estructura crear configuracion como caracteristicas archivo syntax yaml quotes

syntax - usar - yaml caracteristicas



¿Necesito citas para cadenas en YAML? (1)

Después de una breve revisión del libro de cocina YAML citado en la pregunta y algunas pruebas, aquí está mi interpretación:

  • En general, no necesitas citas.
  • Use comillas para forzar una cadena, por ejemplo, si su clave o valor es 10 pero desea que devuelva una Cadena y no un Fixnum, escriba ''10'' o "10" .
  • Use comillas si su valor incluye caracteres especiales, (por ejemplo : { , } , [ , ] ,,, & , * , # , ? , | , - , < , > , = , ! , % , @ , / ).
  • Las comillas simples le permiten poner casi cualquier carácter en su cadena y no intentarán analizar los códigos de escape. ''/n'' se devolvería como la cadena /n .
  • Las comillas dobles analizan los códigos de escape. "/n" se devolvería como un carácter de avance de línea.
  • El signo de exclamación introduce un método, por ejemplo !ruby/sym para devolver un símbolo de Ruby.

Me parece que el mejor enfoque sería no usar comillas a menos que tenga que hacerlo, y luego usar comillas simples a menos que específicamente desee procesar códigos de escape.

Actualizar

"Sí" y "No" deben incluirse entre comillas (simples o dobles) o, de lo contrario, se interpretarán como valores de TrueClass y FalseClass:

en: yesno: ''yes'': ''Yes'' ''no'': ''No''

Estoy tratando de escribir un diccionario YAML para la internacionalización de un proyecto Rails. Sin embargo, estoy un poco confundido, como en algunos archivos veo cadenas entre comillas dobles y en otros sin. Algunos puntos a considerar:

  • ejemplo 1 - todas las cadenas usan comillas dobles;
  • ejemplo 2 : sin cadenas (excepto las dos últimas) usa comillas;
  • el libro de cocina YAML dice: Encerrar cadenas entre comillas dobles le permite usar escapadas para representar caracteres ASCII y Unicode. ¿Significa esto que necesito usar comillas dobles solo cuando quiero escapar de algunos caracteres? En caso afirmativo, ¿por qué usan comillas dobles en todas partes en el primer ejemplo, solo por razones de unidad / estilística?
  • ¡Las dos últimas líneas del ejemplo 2 usan ! - la etiqueta no específica, mientras que las dos últimas líneas del primer ejemplo no lo hacen - y ambas funcionan.

Mi pregunta es: ¿cuáles son las reglas para usar los diferentes tipos de citas en YAML?

Se podría decir que:

  • en general, no necesitas citas;
  • si quieres escapar de los caracteres usa comillas dobles;
  • utilizar ! con comillas simples, cuando ...?!?