ScriptEncodingJa » History » Version 18
Usaku NAKAMURA, 01/17/2013 08:05 PM
revert spam, RDnize, 2.0 spec
1 | 18 | Usaku NAKAMURA | =begin |
---|---|---|---|
2 | 1 | Usaku NAKAMURA | = Script Encoding Summary |
3 | 18 | Usaku NAKAMURA | [ruby-dev:33389]より転載。 |
4 | 1 | Usaku NAKAMURA | |
5 | 1 | Usaku NAKAMURA | 通常のスクリプトの場合 | script encoding | default external | |
6 | 1 | Usaku NAKAMURA | ------------------------------+-----------------+------------------+ |
7 | 18 | Usaku NAKAMURA | -K・-Eなし、magic commentなし | US-ASCII(*1) | locale | |
8 | 1 | Usaku NAKAMURA | -K・-Eなし、magic commentあり | magic comment | locale | |
9 | 18 | Usaku NAKAMURA | -Eあり、magic commentなし | US-ASCII(*1) | -E | |
10 | 1 | Usaku NAKAMURA | -Eあり、magic commentあり | magic comment | -E | |
11 | 1 | Usaku NAKAMURA | -Kあり、magic commentなし | -K | -K | |
12 | 1 | Usaku NAKAMURA | -Kあり、magic commentあり | magic comment | -K | |
13 | 1 | Usaku NAKAMURA | |
14 | 1 | Usaku NAKAMURA | |
15 | 1 | Usaku NAKAMURA | -eおよびstdinの場合 | script encoding | default external | |
16 | 1 | Usaku NAKAMURA | ------------------------------+-----------------+------------------+ |
17 | 1 | Usaku NAKAMURA | -K・-Eなし、magic commentなし | locale | locale | |
18 | 1 | Usaku NAKAMURA | -K・-Eなし、magic commentあり | magic comment | locale | |
19 | 1 | Usaku NAKAMURA | -Eあり、magic commentなし | locale | -E | |
20 | 1 | Usaku NAKAMURA | -Eあり、magic commentあり | magic comment | -E | |
21 | 1 | Usaku NAKAMURA | -Kあり、magic commentなし | -K | -K | |
22 | 1 | Usaku NAKAMURA | -Kあり、magic commentあり | magic comment | -K | |
23 | 1 | Usaku NAKAMURA | |
24 | 18 | Usaku NAKAMURA | (*1) 2.0からはUTF-8となる。 |
25 | 1 | Usaku NAKAMURA | |
26 | 18 | Usaku NAKAMURA | |
27 | 1 | Usaku NAKAMURA | == 1.8からのscript encodingに関する非互換まとめ |
28 | 1 | Usaku NAKAMURA | |
29 | 1 | Usaku NAKAMURA | * -Kがない場合、1.8では1.9のASCII-8BIT相当の挙動だったが、1.9 |
30 | 18 | Usaku NAKAMURA | ではUS-ASCIIとして扱われる。2.0ではUTF-8。 |
31 | 18 | Usaku NAKAMURA | よって、-Kなしでリテラル中に多バイト文字が含まれている場合、 |
32 | 1 | Usaku NAKAMURA | 1.8ではencodingと運によっては大丈夫だったものが 1.9では必 |
33 | 1 | Usaku NAKAMURA | ずパース時にエラーが発生するようになる。 |
34 | 1 | Usaku NAKAMURA | |
35 | 1 | Usaku NAKAMURA | * magic commentがあった場合、1.8では無視されるが、1.9ではそれ |
36 | 17 | paper write | がscript encodingに反映される。-Kよりも優先。 |
37 | 17 | paper write | |
38 | 1 | Usaku NAKAMURA | * 上記の表にはないが、コマンドラインオプション・RUBYOPT・shebang |
39 | 1 | Usaku NAKAMURA | の間の優先順位が1.9では変更されている。 |
40 | 1 | Usaku NAKAMURA | よって、それぞれに矛盾する-K指定が存在した場合、1.8とは異な |
41 | 1 | Usaku NAKAMURA | る優先順位でscript encodingが決定される。 |
42 | 1 | Usaku NAKAMURA | 具体的には以下の通り(左が優先) |
43 | 1 | Usaku NAKAMURA | : 1.8 |
44 | 3 | Usaku NAKAMURA | shebang > RUBYOPT > コマンドライン |
45 | 3 | Usaku NAKAMURA | : 1.9 |
46 | 3 | Usaku NAKAMURA | コマンドライン > RUBYOPT > shebang |
47 | 18 | Usaku NAKAMURA | =end |