-
Notifications
You must be signed in to change notification settings - Fork 321
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Encoding.default_internal
と Encoding.defaut_external
を翻訳します
#2578
Encoding.default_internal
と Encoding.defaut_external
を翻訳します
#2578
Conversation
`Time#zone` `$PROGRAM_NAME` は rdoc の説明と異なり `Encoding.default_external` が適用されない。 また、列挙されている以外に `Encoding.default_internal` `Encoding.default_external` が使用されるオブジェクトがあるか不明だった。 ドキュメントに書くオブジェクトだけが `Encoding.default_internal` `Encoding.default_external` が使用されるかのような紛らわしい記述になりうるため削除した。 ref: `Encoding.default_internal` `Encoding.default_external` の ドキュメントが書かれた commit ruby/ruby@40e6fac
refm/api/src/_builtin/Encoding
Outdated
--- default_internal -> Encoding | nil | ||
既定の内部エンコーディングを返します。 | ||
|
||
[[m:String#encode]] と [[m:String#encode!]] は、引数に Encoding が与えられていない場合、 default_internal を使用します。 | ||
|
||
文字列リテラルを作成した場合、エンコーディングには default_internal ではなく __ENCODING__ 特殊変数が使用されます。 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
__ENCODING__ 特殊変数で参照できるスクリプトエンコーディング
のように「スクリプトエンコーディング」という言葉を入れると良さそうです。
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
そうですね!77aa3b8 で追加しました。
`Encoding.default_internal` が何を示しているのか明確ではなかったため加筆した。合わせて `Encoding.default_external` も加筆した。
読み直して少し加筆しました。 b0f9e86 |
「等」と「など」が重複しているので、「open で開くファイルなどで、」のように「標準入出力、コマンドライン引数、open で開くファイル」だけに「など」をつければ良さそうに思いました。 |
「等」と「など」が重複していたので「等」を消しました
#2578 (comment) 消しました! |
解決すること
Encoding.default_internal
とEncoding.defaut_external
は英語版ドキュメントに比べ情報量が少ないため、英語版を翻訳しました。ただし一部英語版から削っています。
また、Ruby 3.0 対応もとりこみました。 ref: #2458
Feature #16604: Set default for Encoding.default_external to UTF-8 on Windows - Ruby master - Ruby Issue Tracking System
削除箇所
英語版から、このオブジェクトにはデフォルトで
Encoding.default_internal
とEncoding.default_external
が使用される…という説明を削除しています。例えば、英語版に書いてある
Time#zone
$PROGRAM_NAME
は rdoc の説明と異なりEncoding.default_internal
が適用されません。また、列挙されている以外に
Encoding.default_internal
Encoding.default_external
が使用されるオブジェクトがあるか不明でした。ドキュメントに列挙するオブジェクトだけが
Encoding.default_internal
Encoding.default_external
が使用されるかのような紛らわしい記述になりうるため意図的に削除しています。検証コード
$PROGRAM_NAME
とTime#zone
がEncoding.default_internal
に影響されないこと、ARGV
ENV
は影響されることサンプル.rb
実行結果
❯ ruby -E:sjis サンプル.rb ほげ default_internal is Windows-31J ARGV[0] encoding is Windows-31J $PROGRAM_NAME encoding is UTF-8 ENV encoding is Windows-31J Time#zone encoding is US-ASCII
スクリーンショット
修正前
修正後
リンク
class Encoding - Documentation for Ruby 3.0.0
class Encoding (Ruby 3.0.0 リファレンスマニュアル)