Ответ, конечно же, зависит от языка (и языковой культуры).
Например, в зависимости от языка подходят все следующие варианты: empty-p, empty?, empty, is_empty или isEmpty. (Эти примеры, конечно, не являются исчерпывающими).
Примеры в исходном вопросе взяты из Ruby, где такое использование? и ! to end имена методов, где это уместно, принимаются. Это признание исходит из 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?
или пустой_? (необычно)
- C/C++/JS/Java/Python/Perl — нет? или ! в идентификаторах; JS/Java позволяют $; $ — это символ в Perl.
- C/C++/Perl/JS — руки вверх?
- C# — IsEmpty (метод или свойство) или Empty (свойство)
- Python — is_empty или isEmpty согласно Guido-guide (хотя обычно протокол len:
if not len(foo): "empty!"
)
- Java — isEmpty для руководства по языку
- Ruby - специальный трейлинг? и ! (цитирую?)
- JS — косвенный доступ к идентификатору: obj["пусто?"] (не часто для этого)
- Лисп (обычный): empty-p для предиката; вариации в читателе/цитировании
- Джулия - добавляется! к функциям, которые изменяют свои аргументы
Рад видеть исправления и/или дополнения - это капля в море.
person
Community
schedule
21.10.2009