Использование специальных символов в именах функций
В Ruby стандартное соглашение заключается в использовании знака вопроса в конце имени метода, чтобы указать, что метод возвращает логический результат:
[].empty? #=> true
Другое стандартное соглашение заключается в том, чтобы оканчивать имя метода восклицательным знаком, если метод деструктивен (то есть он изменяет исходные данные):
mylist.sort! # sort mylist in-place
Недавно я видел те же самые соглашения, используемые в Схеме. Что заставляет меня задуматься, какие другие языки используют / поддерживают это соглашение? Существуют ли какие-либо другие специальные символы, которые обычно используются для именования этими или другими языками?