[#45637] [ruby-trunk - Feature #6440][Open] 引数にIOを渡した場合のMarshal.loadにバッファを持たせたい — "Glass_saga (Masaki Matsushita)" <glass.saga@...>

14 messages 2012/05/16

[#45670] [ruby-trunk - Bug #6479][Open] ipaddr.rbの受け付ける書式が、プラットフォームによって異なる — "kachick (Kenichi Kamiya)" <kachick1+ruby@...>

9 messages 2012/05/22

[ruby-dev:45603] [ruby-trunk - Bug #5358] YAML 中のタグの扱いについて

From: "sho-h (Sho Hashimoto)" <sho-h@...>
Date: 2012-05-02 03:31:57 UTC
List: ruby-dev #45603
Issue #5358 has been updated by sho-h (Sho Hashimoto).


アーロンさんにご返信をいただいてないので納得というと何ともですが、close していただくのは問題ありません。

私としては、以下の質問に対してRubyの仕様として公式なご回答が頂けるとるりまに反映しやすいくらいでした。

> 上記はつまり以下という事でいいですか?
> * !str は Ruby では特別扱いする(ただのローカルタグとして扱う)
> * !<tag:yaml.org,2002>: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("--- !<tag:yaml.org,2002>:str foo")
  # => #<YAML::DomainType:0xf71d4780 @domain="yaml.org,2002", @type_id="<tag:yaml.org,2002>:str", @value="foo">

  YAML.load("--- !!str foo")
  # => #<YAML::PrivateType:0xf71e0a44 @type_id="str", @value="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/

In This Thread

Prev Next