J'essaie d'écrire un dictionnaire YAML pour l'internationalisation d'un projet Rails. Je suis cependant un peu confus, car dans certains fichiers, je vois des chaînes entre guillemets et dans d'autres sans. Quelques points à considérer:
!
- la balise non spécifique, alors que les deux dernières lignes du premier exemple ne le sont pas - et elles fonctionnent toutes les deux.Ma question est la suivante: quelles sont les règles d'utilisation des différents types de citations dans YAML?
Pourrait-on dire que:
!
avec des guillemets simples, quand ...?!?Après une brève revue du livre de recettes YAML cité dans la question et quelques tests, voici mon interprétation:
10
mais que vous souhaitez qu'elle renvoie une chaîne et non un fixnum, écrivez '10'
ou "10"
.:
, {
, }
, [
, ]
, ,
, &
, *
, #
, ?
, |
, -
, <
, >
, =
, _ , !
, %
, @
, \
).'\n'
serait renvoyé sous la chaîne \n
."\n"
serait renvoyé sous forme de caractère de saut de ligne.!Ruby/sym
pour retourner un symbole Ruby.Il me semble que la meilleure approche serait de ne pas utiliser de guillemets à moins que vous ne soyez obligés de le faire, puis d'utiliser des guillemets simples à moins que vous ne souhaitiez spécifiquement traiter des codes d'échappement.
Mise à jour
"Oui" et "Non" doivent être entre guillemets (simples ou doubles), sinon ils seront interprétés comme des valeurs TrueClass et FalseClass:
en:
yesno:
'yes': 'Yes'
'no': 'No'