もちろん、その答えは言語(および言語文化)に固有のものです。
たとえば、言語に応じて、次のすべてが適切です:empty-p、empty?、empty、is_empty、またはisEmpty。(もちろん、これらの例は包括的ではありません)。
元の質問の例は、Rubyからのものです。と !終了するメソッド名は、必要に応じて受け入れられます。この受け入れは、1)文法の記号ターミネータとして簡単にアクセスできる2)?の使用から来ています。と !標準ライブラリにあります。ただし、注意が必要です。「副作用」を暗示するために普遍的に使用されることはなく、通常は代替形式(save / save !、 sort / sort!など)にのみ存在します。!を持たない副作用を実行するメソッドは圧倒的に多くあります。プレフィックス。
個人的に、私が言語を設計しているなら、私は許可しますか?、!および'は、シンボル名の引用符で囲まれていない有効な末尾文字です。Scalaなど、一部の言語では完全な記号のエスケープが許可されていますが、使用するために引用符で囲む必要があるため、通常、このような記号は避けられます。
// in Scala, esp. with Java-compat, the last form is generally used although
// the first two are perfectly valid -- do what makes sense in the language
foo.`empty?`
foo.empty_?
foo.isEmpty
ローマにいるとき...
- Scala-
empty?
またはempty_?(一般的ではありません)
- C / C ++ / JS / Java / Python / Perl-いいえ?また !識別子で; JS/Javaは$を許可します。$はPerlの印章です
- C / C ++ / Perl / JS-空中で手を上げますか?
- C#-IsEmpty(メソッドまたはプロパティ)またはEmpty(プロパティ)
- Python-Guido-guideごとにis_emptyまたはisEmpty(通常はlenプロトコル
if not len(foo): "empty!"
:)
- Java-言語ガイドごとのisEmpty
- Ruby-特別な末尾?と !(引用?)
- JS-間接的な識別子アクセス:obj ["empty?"](これには一般的ではありません)
- Lisp(従来型):述語のempty-p; リーダー/引用のバリエーション
- ジュリア-追加!引数を変更する関数に
修正や追加を見てうれしいです-バケツのほんの一滴です。