Strings that could be interpreted as sexagesimal should always be emitted quoted
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 3/5
- Temps estimé
- 1-2 jours
- Accessibilité débutants
- 45/100
Piste de recherche
Commencez par suivre le chemin d’émission de to_yaml pour les chaînes et comparez-le aux exemples Ruby 2.5 et 2.6 de l’issue. Vérifiez comment les analyseurs YAML 1.1 interprètent les valeurs émises, puis vérifiez que les chaînes ressemblant à des valeurs sexagésimales, comme les adresses MAC, sont placées entre guillemets sans modifier les autres sorties de chaînes.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
Not doing so causes parsers that follow the yaml 1.1 spec (crazy though it might be), to load certain unquoted mac addresses as integers.
IMO https://github.com/ruby/psych/issues/265 wasn't actually a bug. It was following the 1.1 spec. (To make things more complicated, sexagesimal was dropped from yaml in the 1.2 spec)
Ruby 2.5 and 2.6 emit mac addresses, (but not shorter strings it thinks are more likely to be sexagesimal), unquoted.
2.6.0 :002 > '52:54:00:44:49:56'.to_yaml
=> "--- 52:54:00:44:49:56\n...\n"
2.6.0 :003 > '44:49:56'.to_yaml
=> "--- '44:49:56'\n"
ruby < 2.5 then parse them as integers.
2.4.5 :006 > YAML.load('macaddress: 52:54:00:44:49:56')
=> {"macaddress"=>12465480}
Here is an actual example of where the change in handling of sexagesimal has been a problem.
- Langage dominant
- Ruby
- Étoiles
- 596
- Forks
- 224
- Merge moyen
- 5 h 50 min
- PR mergées (30 j)
- 3
Préparer son environnement
- Aucun Dockerfile ni fichier Docker Compose
- Aucun modèle de pull request
- Lire le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de ruby/psych
-
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
-
Documentation
Difficulté 1/5 Moins d'une heure Accessibilité débutants 72/100
-
Psych.dump raises Encoding::CompatibilityError for UTF-16/UTF-32 stringsPeut-être pris @Halvanhelv l’a pris il y a 37 jours. Ouverte
Difficulté 2/5 1-3 heures Accessibilité débutants 55/100
-
Difficulté 4/5 3-5 jours Accessibilité débutants 68/100
-
Difficulté 4/5 3-5 jours Accessibilité débutants 52/100
Toutes les issues de ruby/psych
Issues similaires
-
Difficulté 2/5 1-3 heures Accessibilité débutants 75/100
thewca/worldcubeassociation.org#16088 ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 66/100
Les mainteneurs répondent en général sous 1 jour
-
enhancement help wanted
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
ecosyste-ms/repos#1215 ·
Les mainteneurs répondent en général sous 1 jour
-
bug
Difficulté 2/5 1-3 heures Accessibilité débutants 70/100
WikiEducationFoundation/WikiEduDashboard#7157 ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 82/100
Les mainteneurs répondent en général sous 1 jour