[#42564] [Ruby 1.9-Feature#4043][Open] グローバル関数current_classの提案 — Makoto Kishimoto <redmine@...>

Feature #4043: =E3=82=B0=E3=83=AD=E3=83=BC=E3=83=90=E3=83=AB=E9=96=A2=E6=95=

15 messages 2010/11/11
[#42774] Re: [Ruby 1.9-Feature#4043][Open] グローバル関数current_classの提案 — Yukihiro Matsumoto <matz@...> 2010/12/16

まつもと ゆきひろです

[#42834] Re: [Ruby 1.9-Feature#4043][Open] グローバル関数current_classの提案 — "KISHIMOTO, Makoto" <ksmakoto@...4u.or.jp> 2010/12/21

きしもとです

[#42835] Re: [Ruby 1.9-Feature#4043][Open] グローバル関数current_classの提案 — Yukihiro Matsumoto <matz@...> 2010/12/21

まつもと ゆきひろです

[#42838] Re: [Ruby 1.9-Feature#4043][Open] グローバル関数current_classの提案 — "KISHIMOTO, Makoto" <ksmakoto@...4u.or.jp> 2010/12/21

きしもとです

[#42845] Re: [Ruby 1.9-Feature#4043][Open] グローバル関数current_classの提案 — Yukihiro Matsumoto <matz@...> 2010/12/21

まつもと ゆきひろです

[#42577] Rubyのバグレポートのガイドライン — "Shota Fukumori (sora_h)" <sorah@...>

sora_hです。

11 messages 2010/11/15
[#42588] Re: Rubyのバグレポートのガイドライン — Yugui <yugui@...> 2010/11/18

2010/11/15 Shota Fukumori (sora_h) <sorah@tubusu.net>:

[#42638] Enumerable#categorize — Tanaka Akira <akr@...>

enumerable から hash を生成するメソッドとして

25 messages 2010/11/27
[#42643] Re: Enumerable#categorize — Yukihiro Matsumoto <matz@...> 2010/11/27

まつもと ゆきひろです

[ruby-dev:42610] Re: [Ruby 1.9-Bug#3990][Closed] tests of rexml/rss reports many errors and failures without iconv

From: Kouhei Sutou <kou@...>
Date: 2010-11-20 07:24:04 UTC
List: ruby-dev #42610
須藤です。

In <4CE77185.5080603@airemix.jp>
  "[ruby-dev:42608] Re: [Ruby 1.9-Bug#3990][Closed] tests of rexml/rss reports many errors and failures without iconv" on Sat, 20 Nov 2010 15:58:16 +0900,
  "NARUSE, Yui" <naruse@airemix.jp> wrote:

>> 内部ではそれでもよいと思いますが、利用者がXML宣言のエンコー
>> ディングを使いたいときに不便だと思っています。例えば、日本語っ
>> ぽいものだけ扱い時にエンコーディングがShift_JISかEUC-JPか
>> UTF-8以外のものは使わないとか、というケースを考えていました。
>> このとき、利用者がいちいちREXMLから返されるエンコーディング
>> を正規化して比較しなければいけないのは面倒だと考えています。
> 
> そういう要求が出てくることまでは想像できますが、「日本語っぽいものだけ扱い時」
> には、現状 UTF-8, Shift_JIS, Windows-31J, EUC-JP, CP51932, eucJP-ms を
> 見ないといけないんですよね。
> 
> 現実的にはエンコーディングで判定するよりも、そのニーズの場合、
> XML 全体が CP932 に変換できるかで判定した方がベターだと思います。

私はそのあたりはよくわからないのですが、CP932は日本語の全部
の文字を含んでいるんでしたっけ?(EUC-JPとCP932を相互に変換
しても欠落する情報がないかどうか)

含んでいないのであれば、上記のエンコーディングかどうかを判断
した方がよさそうな気がします。

>> また、XML宣言で用いるエンコーディングと変換で用いるエンコーディ
>> ングは同じものにするべきだと思っています。そうしないと、
>> REXMLが出力したXMLをパースする他のXMLパーサが困ると思っていま
>> す。XML宣言のエンコーディングがShift_JISなのにXMLの中に
>> Shift_JISにはない文字が入ってしまうかもしれないということです
>> よね?
> 
> 「他のXMLパーサ」のためにまさにこれが必要なのです。
> 
> Windows の API、kernel32 の MultiByteToWideChar や、Mlang.dll の
> ConvertINetString、.NET Framework の Encoding は"Shift_JIS" を
> 与えると Windows-31J として、"EUC-JP" を与えると CP51932 として解釈します。
> 
> なので、これらの API を使う XML パーサを送信する時は、Ruby 側では
> XML 宣言で用いるエンコーディングと、変換で用いるエンコーディングを
> 変える必要があります。

.NET FrameworkのXMLパーサ以外は困らないのでしょうか?
REXMLは.NET Frameworkの実装に合わせるよりはXMLの仕様に合わせ
るべきだと思っています。
(XMLパーサじゃなくてSGMLパーサとかならどっちでもいいや、と
思いますが。)

> この辺と先の XML 宣言で用いるエンコーディング名を複合的に踏んじゃったのが、
> 例えばJava などから Windows 向けの XML をどうやって書き出すか、というお話です。
> http://www.artonx.org/diary/20050614.html
> http://d.hatena.ne.jp/Kazzz/20050614/p1

「Javaと.NETのXMLパーサの挙動の違いではまらないようにするに
はUTF-8を使おうね」ということのように読めました。

In This Thread