From: "U.Nakamura" Date: 2008-01-07T15:14:10+09:00 Subject: [ruby-dev:32948] Re: replica と alias の違い(encoding) こんにちは、なかむら(う)です。 In message "[ruby-dev:32946] replica と alias の違い(encoding)" on Jan.07,2008 15:00:25, wrote: | Windows版のRuby1.9でのデフォルトエンコーディングのときにちょっと名前が | でていて気になっていたのですが、レプリカ(replica) と エイリアス (alias) | の違いってなんでしょうか? | | レプリカ → 実体をコピーするしてそのコピーに名前をつける | エイリアス → 実体を共有した上で名前をつける | | かなあと思ったのですが、実際のコードを見ても自信がないので解説を | していただけるとありがたいです。ここを見ろというポインタ指示でも | かまいません(英語でかかれていても可です)。 ここ(ruby-dev)で説明があったような気がするんですが、いざ探す と見当たらないですね。 replicaとaliasの理解としては正しいと思います。 Ruby風に言えば、前者がdupで後者が単なる代入ということで。 m17nではこの違いがどう影響するかというと、transcodeでの変換処 理において、replicaは元のエンコーディングと別の変換ルーチンを 割り当てることが可能(同じままでもいいんだけど)ですが、aliasで はそれができないとか、alias同士は同一のエンコーディングとみな されるというか実際同一なのでStringオブジェクトの操作などで問 題は起きないけれどreplicaでは同一ではないので例のdifferなエラ ーが起きるとか、そういうことになります。 それでは。 -- U.Nakamura