yaml parsing is wrong when key's value has leading colon
まだ誰も着手していません。
評価
調査の方向性
issue に示されている Ruby YAML.load コマンドで結果を再現し、その後、その入力が Psych とその libyaml ラッパーによってどのように処理されるかを追跡します。先頭の二重コロンがスカラー値の一部として残り、表示されたハッシュと値が期待される出力と一致すれば、修正は完了です。
索引モデルが issue の本文から書いたものです。
説明
replication steps:
ruby -ryaml -e "a = YAML.load('servers: ::ffff:10.10.10.1'); puts a; puts a['servers']"
{"servers"=>:":ffff:10.10.10.1"}
:ffff:10.10.10.1
expected:
{"servers"=>"::ffff:10.10.10.1"}
::ffff:10.10.10.1
actual result:
{"servers"=>:":ffff:10.10.10.1"}
:ffff:10.10.10.1
Environment:
ruby --version
ruby 2.7.0p0
gem list yaml
yaml (0.3.0)
Python yaml works as expected:
python3.9 -c 'import yaml; a=yaml.safe_load("servers: ::ffff:10.10.10.1"); print(a); print(a["servers"]);'
{'servers': '::ffff:10.10.10.1'}
::ffff:10.10.10.1
- 主要言語
- Ruby
- スター
- 597
- フォーク
- 223
- 平均マージ
- 6時間 8分
- マージ済み PR(30日)
- 2
環境構築
- Dockerfile・Docker Compose ファイルなし
- プルリクエストのテンプレートなし
- コントリビューションガイドを読む
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
ruby/psych のほかの issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
-
Documentation
難易度 1/5 1時間未満 初心者へのやさしさ 72/100
-
Psych.dump raises Encoding::CompatibilityError for UTF-16/UTF-32 strings対応中かも @Halvanhelv が 26 日前に担当しました。 オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 55/100
-
難易度 4/5 3〜5日 初心者へのやさしさ 68/100
-
難易度 4/5 3〜5日 初心者へのやさしさ 52/100
似ている issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 65/100
slovensko-digital/autogram-portal#392 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 65/100
voxpupuli/puppet-quadlets#122 · コメント 5 件 ·
メンテナーはふだん 1 日以内に返信
-
難易度 1/5 1時間未満 初心者へのやさしさ 82/100
TheOdinProject/curriculum#31452 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 70/100
-
難易度 1/5 1時間未満 初心者へのやさしさ 72/100
betagouv/conseillers-entreprises#4720 ·
メンテナーはふだん 3 日以内に返信