[1] comments - Documentation for Ruby 3.5, , https://docs.ruby-lang.org/en/master/syntax/comments_rdoc.html#label-Magic+Comments
[2]
# から始まる行内注釈に、
名前と値を : で区切って記述するようです。
>>1
[3]
例示では # の後や : の後には が1つ置かれています。
>>1
どの程度自由度があるのかドキュメント上は明らかではありません。
[4]
-*- 構文を使うと名前と値の組を1つ以上まとめて行内注釈に入れることができます。
>>1
[5] top-level magic comment >>1 とそうでないものがあるようです。 ドキュメント上それらの位置付けは明確ではありませんが、 全体に適用される指令とブロック内に適用される指令の区別であるようです。
[6]
# の前に文字を書けるのか、ドキュメント上は明らかではありません。
ドキュメントではブロック内に適用される指令はインデントされて示されています
>>1 が、どの程度自由度があるのかドキュメント上は明らかではありません。
[7] top-level magic comment はファイルの最初の comment section に出現しなければならないとされます。 >>1 comment section とは何を言うのか明確ではありません。
[8]
ドキュメントの encoding 指令の説明において、
top-level magic comment は最初の行か、 shebang
の次の行になければならないとあります。 >>1
ドキュメント上明瞭ではありませんが、 encoding 指令かつ
top-level magic comment である場合の規定なのでしょうか。
(top-level magic comment でない魔法注釈として encoding
が使えるものなのかもよくわかりませんが。)
[9] 名前と値の組は指令の名前と値と解釈されます。 >>1
[10] 指令によってはドキュメント上、その配置された行の続きに適用されることが明言されているものもあります。 明記がないものがどうなのか、複数指定することはできるのか、などドキュメント上明らかでないことが多いです。
[12]
encoding 指令は、 coding とも書くことができ、
文字コードを指定します。
構文を注意して選べば、
Emacs
と
Ruby
の両方にファイルの文字コードの指定と認識させられます。
-*- coding -*-
encoding:の魔法注釈が導入されたようで、 その後他の指令が追加されたと思われ、 その過程でドキュメントを整理しないで書き足したために見えます。