[#32945] Shift_JIS variants and UTF-16 support — "U.Nakamura" <usa@...>

こんにちは、なかむら(う)です。

22 messages 2008/01/07
[#32953] Re: Shift_JIS variants and UTF-16 support — Martin Duerst <duerst@...> 2008/01/07

中村さん、こんにちは。

[#32955] Re: Shift_JIS variants and UTF-16 support — Yukihiro Matsumoto <matz@...> 2008/01/07

まつもと ゆきひろです

[#32959] Re: Shift_JIS variants and UTF-16 support — "NARUSE, Yui" <naruse@...> 2008/01/07

成瀬です。

[#32960] Re: Shift_JIS variants and UTF-16 support — Yukihiro Matsumoto <matz@...> 2008/01/07

まつもと ゆきひろです

[#32992] ASCII is alias of US-ASCII; replica of dummy encoding is not a dummy — "NARUSE, Yui" <naruse@...>

成瀬です。

18 messages 2008/01/08
[#32994] Re: ASCII is alias of US-ASCII; replica of dummy encoding is not a dummy — Yukihiro Matsumoto <matz@...> 2008/01/09

まつもと ゆきひろです

[#32995] Re: ASCII is alias of US-ASCII; replica of dummy encoding is not a dummy — Martin Duerst <duerst@...> 2008/01/09

At 18:13 08/01/09, Yukihiro Matsumoto wrote:

[#33011] Re: ASCII is alias of US-ASCII; replica of dummy encoding is not a dummy — "NARUSE, Yui" <naruse@...> 2008/01/11

成瀬です。

[#33012] Re: ASCII is alias of US-ASCII; replica of dummy encoding is not a dummy — Yukihiro Matsumoto <matz@...> 2008/01/11

まつもと ゆきひろです

[#33014] Re: ASCII is alias of US-ASCII; replica of dummy encoding is not a dummy — "NARUSE, Yui" <naruse@...> 2008/01/11

成瀬です。

[#33015] Re: ASCII is alias of US-ASCII; replica of dummy encoding is not a dummy — Yukihiro Matsumoto <matz@...> 2008/01/11

まつもと ゆきひろです

[#33239] Re: [ruby-cvs:22386] Ruby:r15149 (trunk): * string.c (rb_str_each_char): move forward. — Tanaka Akira <akr@...>

In article <200801210259.m0L2x3CW017171@ci.ruby-lang.org>,

11 messages 2008/01/21
[#33240] Re: [ruby-cvs:22386] Ruby:r15149 (trunk): * string.c (rb_str_each_char): move forward. — Nobuyoshi Nakada <nobu@...> 2008/01/21

なかだです。

[#33303] Time#strftimeのエンコーディング — rubikitch@...

るびきちです。

13 messages 2008/01/23
[#33305] Re: Time#strftimeのエンコーディング — Yukihiro Matsumoto <matz@...> 2008/01/23

まつもと ゆきひろです

[#33368] summary of script encoding — "U.Nakamura" <usa@...>

こんにちは、なかむら(う)です。

22 messages 2008/01/25
[#33375] Re: summary of script encoding — Yukihiro Matsumoto <matz@...> 2008/01/25

まつもと ゆきひろです

[#33376] Re: summary of script encoding — "U.Nakamura" <usa@...> 2008/01/25

こんにちは、なかむら(う)です。

[#33387] HashからStructを作る — rubikitch@...

るびきちです。

19 messages 2008/01/25
[#33455] Re: HashからStructを作る — Yukihiro Matsumoto <matz@...> 2008/01/28

まつもと ゆきひろです

[#33505] Re: HashからStructを作る — rubikitch@... 2008/01/29

From: Yukihiro Matsumoto <matz@ruby-lang.org>

[#33507] Re: HashからStructを作る — Yukihiro Matsumoto <matz@...> 2008/01/29

まつもと ゆきひろです

[#33508] Re: HashからStructを作る — rubikitch@... 2008/01/29

From: Yukihiro Matsumoto <matz@ruby-lang.org>

[#33433] Win32OLE: set encoding to OLE string — "U.Nakamura" <usa@...>

こんにちは、なかむら(う)です。

16 messages 2008/01/28

[#33461] Failed to make ruby-1.8.6-p111 on MacOSX 10.5(Leopard) — MORITA Hideyuki <h-morita@...>

=1B$B?9ED$H?=3D$7$^$9!#=1B(B

19 messages 2008/01/28
[#33473] Re: Failed to make ruby-1.8.6-p111 on MacOSX 10.5(Leopard) — Nobuyoshi Nakada <nobu@...> 2008/01/28

なかだです。

[#33503] Re: Failed to make ruby-1.8.6-p111 on MacOSX 10.5(Leopard) — MORITA Hideyuki <h-morita@...> 2008/01/29

森田です。

[#33514] Re: Failed to make ruby-1.8.6-p111 on MacOSX 10.5(Leopard) — Nobuyoshi Nakada <nobu@...> 2008/01/29

なかだです。

[#33518] Re: Failed to make ruby-1.8.6-p111 on MacOSX 10.5(Leopard) — MORITA Hideyuki <h-morita@...> 2008/01/30

森田です。

[#33545] Re: Failed to make ruby-1.8.6-p111 on MacOSX 10.5(Leopard) — Ryutaro Amano <wn9r-amn@...> 2008/01/31

天野竜太郎と申します。

[#33546] Re: Failed to make ruby-1.8.6-p111 on MacOSX 10.5(Leopard) — MORITA Hideyuki <h-morita@...> 2008/01/31

森田です。

[#33547] Re: Failed to make ruby-1.8.6-p111 on MacOSX 10.5(Leopard) — Ryutaro Amano <wn9r-amn@...> 2008/01/31

天野です。

[#33551] Re: Failed to make ruby-1.8.6-p111 on MacOSX 10.5(Leopard) — MORITA Hideyuki <h-morita@...> 2008/01/31

森田です。

[#33488] 現在の script encoding の値を得る方法は? — Hidetoshi NAGAI <nagai@...>

永井@知能.九工大です.

20 messages 2008/01/29
[#33491] Re: 現在の script encoding の値を得る方法は? — Yukihiro Matsumoto <matz@...> 2008/01/29

まつもと ゆきひろです

[#33500] Re: 現在の script encoding の値を得る方法は? — Hidetoshi NAGAI <nagai@...> 2008/01/29

永井@知能.九工大です.

[#33501] Re: 現在の script encoding の値を得る方法は? — "NARUSE, Yui" <naruse@...> 2008/01/29

成瀬です。

[#33515] Re: 現在の script encoding の値を得る方法は? — Hidetoshi NAGAI <nagai@...> 2008/01/30

永井@知能.九工大です.

[#33516] Re: 現在の script encoding の値を得る方法は? — "NARUSE, Yui" <naruse@...> 2008/01/30

成瀬です。

[#33519] Re: 現在の script encoding の値を得る方法は? — Hidetoshi NAGAI <nagai@...> 2008/01/30

永井@知能.九工大です.

[#33522] Re: 現在の script encoding の値を得る方法は? — "NARUSE, Yui" <naruse@...> 2008/01/30

成瀬です。

[ruby-dev:32974] Re: replica と alias の違い(encoding)

From: KIMURA Koichi <hogemuta@...>
Date: 2008-01-07 13:28:54 UTC
List: ruby-dev #32974
木村です。

まつもとさん、(う)さん、成瀬さんありがとうございます。

Yukihiro Matsumoto さんは書きました:
> |・例外もしくはエラーが発生する
> |・操作自体は通るけど何が起こるかわからない
> |
> |のどちらでしょうか?
> 
> 操作自体は通ります。例外もエラーも起きません(Cですから)。
> ではなにが起きるかというと、元のエンコーディングも書き換わっ
> てしまいます。別名ですから。

すみません。例によって言葉足らずでした。

構造体の構造も把握している人が直接いじればどうとでもできるというは
当然ですが、たとえば書き換え用のAPIを用意していて、それを経由する
ときにはチェックされるとか云うことがあるかな。という前提でした。
#関数ポインタの類を自由に設定できるのは怖いかなと思ったのですが
#少し考えてみればポインタを渡されてもその先にあるのが信用できる
#関数かどうかは判断できませんよね。


U.Nakamura さんは書きました:

> エンコーディングはRubyレベルではEncodingオブジェクトとして見
> えますが、実体はCレベルでのみ操作可能であり、replicaやaliasと
> いうのもCレベルのAPIによる操作です。
> なのでたぶん質問の意図自体がずれているのではないかと思います。

はい。
上で書いたとおりのこちらの説明不足で、Cレベルの操作での話でした。


> で、各エンコーディングはCレベルの構造体と結びついているわけで
> すが、aliasはオリジナルと同じ構造体インスタンスと結びついてお
> り、一方replicaはオリジナルからコピーされた構造体インスタンス
> と結びついています。
> したがって、aliasの関数を上書きするということはオリジナルの構
> 造体のメンバである関数エントリを置き換えるということになりま
> す。
> Cレベルですからやろうと思えばなんでもできるわけですが、普通に
> やれば、
>   aliasの関数上書き == オリジナルの関数上書き
>   replicaの関数上書き == replicaの関数上書き
>   replicaのaliasの関数上書き == replicaの関数上書き
> となります。

はい。
この上書きを防御する壁はあるのかという質問でした。
構造体を直接書き換えられてはどうしようもないと思いますが
#ハッシュでも計算しておいて、構造体を参照するたびにチェックするとか?
#重そう
なんらかの関数経由だったらチェックしているのかなと。
すみません。まだソースの読みが足りませんでした。

NARUSE, Yui さんは書きました:

>> かなあと思ったのですが、実際のコードを見ても自信がないので解説を
>> していただけるとありがたいです。ここを見ろというポインタ指示でも
>> かまいません(英語でかかれていても可です)。
>
> わたしの発言ですと、[ruby-dev:32542] [ruby-dev:32885] あたりがまとまって
> います。この用途で replica を用いようというのは [ruby-dev:32460] が初め
> でしょうか。

ありがとうございます。
年末のメールだったので流し読みで済ませて内容が頭から抜け落ちていたようです。

> 端的にいえば、
> replica : 「encoding」を定義する
> alias   : 「encoding *名*」を定義する
> ということになります。
>
> 図にするとたぶん以下のような感じです。

詳細な説明ありがとうございます。
納得しました。

-- 
木村浩一/KIMURA Koichi
 I thought what I'd do was, I'd pretend I was one of those deaf-mutes or
shoud I?
 mail kbk at kt.rim.or.jp
 web  www.kt.rim.or.jp/~kbk/zakkicho/index.html

In This Thread

Prev Next