Почему модуль профилировщика в Ruby 1.9 назван с двумя завершающими символами подчеркивания?

#ruby #ruby-1.9

#ruby #ruby-1.9

Вопрос:

Я просмотрел стандартную библиотеку, и Profiler__ — единственный модуль, который я могу найти, который использует два символа подчеркивания в имени подобным образом. Есть ли причина?

Комментарии:

1. @nash Моя рабочая теория заключается в том, что разработчик Python проник в основную команду, но я надеялся услышать иное.

2. Я предполагаю, что это было потому, что «Profiler» — обычное имя в терминах программирования, и первоначальный автор пытался быть осторожным (довольно вызывающим образом), чтобы избежать конфликтов пространств имен. Возможно, очень старые версии Ruby не предоставляли никакого пространства имен модулей, и это предшествовало этому.

3. Я надеюсь, что вы ошибаетесь. Я не хочу видеть правила отступов в моем коде ruby. 🙂

4. @nash: Вы на 100% правы! Вы можете увидеть его фотографию на flickr.com/photos/john_lam/1910968816 . @nash: Если вы включите предупреждения, он выдает вам предупреждения о неправильном отступе.

Ответ №1:

Потому что в Ruby core GC имеет класс Profiler.

GC::Profiler

Профилировщик

Это единственная причина, о которой я могу думать. Я действительно не вижу причины, почему, хотя, поскольку класс профилировщика в ядре Ruby является «пространством имен» под модулем GC…