0

私の知る限り、Rubyには文字の大文字化に関する規則があります。何か慣習はあり:UPPERCASE_SELECTORSますか?

4

1 に答える 1

2

あなたは言語やコミュニティについて話しているのですか?

この言語では、メソッド名やメッセージセレクターで必要なUnicode文字を使用することを妨げるものは何もありません。を介してそれらを定義したり、を介してdef呼び出したりすることはできない場合がありますが、リフレクションを使用する.ことは可能です。

を介してそれらを定義しdefたり、で呼び出したりする.場合は、まだ多くの余地があります。名前はアンダースコアまたは文字で始まる必要があります(Unicode文字は完全に問題ありません。つまりµ、完全に有効なメソッド名です)。任意の数の文字、数字、アンダースコア、およびオプションで疑問符、感嘆符、または等号のいずれかで終わる文字。

大文字で始まる、大文字を含む、または完全に大文字であっても、完全に有効です。

ただし、慣用的なものではありません。とにかく、通常ではありません。慣用的なメソッド名はsnake_case、つまり、小文字で始まり、アンダースコアで区切られた小文字の単語で構成され、ASCII文字のみが含まれます。

ただし、例外があります。特に、特定のクラスのファクトリコンパニオンとして意図されているメソッドは、対応するクラスと同じ名前を持つ場合があります。たとえばKernel#Array、引数を配列、ハッシュ、文字列、浮動小数点数、または整数に変換する、、、、Kernel#HashおよびKernel#StringメソッドKernel#FloatKernel#Integer

もう1つの例外は、パラメトリッククラスのように使用することを目的としたメソッドです。たとえば、クラスを取得してそのクラスのラッパークラスを返すstdlibObject#DelegateClassのライブラリのメソッドのように、次のように使用できます。delegate

class MyArray < DelegateClass(Array); end
于 2013-03-06T02:09:36.657 に答える