From: "sho-h (Sho Hashimoto)" Date: 2012-05-02T12:31:57+09:00 Subject: [ruby-dev:45603] [ruby-trunk - Bug #5358] YAML 中のタグの扱いについて Issue #5358 has been updated by sho-h (Sho Hashimoto). アーロンさんにご返信をいただいてないので納得というと何ともですが、close していただくのは問題ありません。 私としては、以下の質問に対してRubyの仕様として公式なご回答が頂けるとるりまに反映しやすいくらいでした。 > 上記はつまり以下という事でいいですか? > * !str は Ruby では特別扱いする(ただのローカルタグとして扱う) > * !:str foo は Ruby では特別扱いする(扱わない) 以下の「注意点」に上記が書いてありますので、間違いにお気づきの方がいらっしゃいましたら、るりまのチケットとして別途発行してやってくださいませ。:) http://doc.ruby-lang.org/ja/1.9.3/library/yaml.html ---------------------------------------- Bug #5358: YAML 中のタグの扱いについて https://bugs.ruby-lang.org/issues/5358#change-26360 Author: sho-h (Sho Hashimoto) Status: Closed Priority: Normal Assignee: tenderlovemaking (Aaron Patterson) Category: ext Target version: 1.9.3 ruby -v: ruby 1.9.2p290 http://yaml.org/ によると、以下はいずれも同じグローバルタグを指定してると思うのですが、結果が異なります。 YAML.load("--- !:str foo") # => # YAML.load("--- !!str foo") # => # 一方、以下はいずれも同じ結果になります。 YAML.load("--- foo") # => "foo" YAML.load("--- !str foo") # => "foo" YAML.load("--- !tag:yaml.org,2002:str foo") # => "foo" これらについて、もしかして以下のバグがあるのではないでしょうか。 * !str は間違ってグローバルタグとして扱われている * !tag:yaml.org,2002 は間違ってグローバルタグとして扱われている * !!str はグローバルタグとして扱われていない -- http://bugs.ruby-lang.org/