Допустимы ли русские буквы в именах переменных, функций и классов? - страница 12
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
В стандарте С++ указано, что можно использовать все символы Unicode в качестве идентификатора.
Опрос связан вот с чем. Коллега пишет большой проект на MQL5, возможно, части проекта будут написаны на C#, C++.
Я немного посмотрел код, все идентификаторы на русском, например
Я всегда использую только английские названия, благо проблем с техническим инглишем нет:
Читаю справку, там четко написано "Идентификаторы используются в качестве имен для переменных и функций. Длина идентификатора не может превышать 63 знака. Допустимые символы при написании идентификатора: цифры 0-9, латинские прописные и строчные буквы а-z и А-Z, распознаваемые как разные символы, символ подчеркивания (_). Первый символ не может быть цифрой. Идентификатор не должен совпадать с зарезервированным словом."
То есть то, что компилятор русские имена компилирует, это undefined behavior (неопределенное поведение) и Метаквоты в любой версии могут это прикрыть.
Я хорошо помню, как один чел еще до появления нового MQL4 build 600 в начале 2013 г. любил в названиях переменных использовать точки, например:
Я ему говорил, что напорешься, 100% MQ введут в язык хотя бы структуры и все программы придется переписывать. Так и оказалось. Я, как в прошлом профессиональный программист, стараюсь не поьзовать никакими недокументированными возможностями.
Будет интересно узнать ваше мнение, уважаемые колеги!
Алексей!
Вы же взрослый мальчик!
Программирование (уж так заведено с самого начала) ведется на Английском языке.
В стандарте С++ указано, что можно использовать все символы Unicode в качестве идентификатора.
так то оно да... даже проверил, работает и в MQL
а Вы смогли бы ответить на мой этот вопрос https://www.mql5.com/ru/forum/344762#comment_16994878
если бы вместо кода по ссылке я спросил бы Вас с таким бы примером?
¯\_(ツ)_/¯
так то оно да... даже проверил, работает и в MQL
а Вы смогли бы ответить на мой этот вопрос https://www.mql5.com/ru/forum/344762#comment_16994878
если бы вместо кода по ссылке я спросил бы Вас с таким бы примером?
¯\_(ツ)_/¯
ещё всякие compose-символы чтобы с умляутами, и обязательно эмотиконы :-)
а вместо пробелов и табуляций их unicode аналоги, visual-space или как их там..
ATL горько заплачет и перевенётся
ещё всякие compose-символы чтобы с умляутами, и обязательно эмотиконы :-)
это сложная задача, это гуглить нужно
я просто зажал Alt и на цифровой клавиатуре набирал код символа наугад ( больше 200 )
не совсем это имелось ввиду. выбор английского исключительно связан с техническим складом ума, в который ГОСТы вбиты советским образованием. уникальность хороша для творческих личностей, а для технарей - это плохо. для меня слово "стандартизация" - это не просто блажь. если хотите быть понятным большому кругу (а, главное, использовать созданное этим большим кругом) - пишите понятным большинству способом, вливайтесь в сообщество. так уж вышло, что в программировании стандарт - это английский. для меня вопрос нац. языка в программировании аналогичен использованию аршина вместо метра в технике (метр - изначально французская единица, но меня не смущает)
помните знаменитую историю времён второй мировой войны про нерасшифрованный код "энигмы"? - там как базовый использовался национальный язык индейского племени, коих осталось что-то около 30ти человек. так же и тут - код получится, но "код", "кодить" и "кодер" будут ближе к изначальному смыслу (=шифровать)
а для компа тоже есть разница. помнится был у меня код с русскими комментариями (из мануала вместе с ними скопировал). отправил иностранцу, он немного поправил, мне вернул - а русских букв не стало в нём, в закорючки превратились, а латиница пережила пересылку, т.к. стандарт. другой случай - закодировал "горячую клавишу" - а на иностранной клавиатуре такой не нашлось (точно не помню, скорее всего ~/ё).
К слову, англоязычный мир до сих пор использует свои величины: вместо метра - feet, вместо километра - mile, вместо килограмма - фунт и т.д...
Почему? - просто у них ЭГО больше и чихать они хотели на остальной мир. Они не приспосабливаются, - под них приспосабливаются, - но есть и те, кто создает свое, так сказать - берет с них пример, но вы выбираете первый вариант - приспосабливаться.
Каждому свое.
это сложная задача, это гуглить нужно
я просто зажал Alt и на цифровой клавиатуре набирал код символа наугад ( больше 200 )
так то оно да... даже проверил, работает и в MQL
а Вы смогли бы ответить на мой этот вопрос https://www.mql5.com/ru/forum/344762#comment_16994878
если бы вместо кода по ссылке я спросил бы Вас с таким бы примером?
¯\_(ツ)_/¯
В MQL нет полноценного доступа к памяти, поэтому все делается через классы-эмуляторы. Тут стандарт С++ не применим полностью.
Что-то типа такого класса возвращается GetPointer() для эмуляции:
А вы звёзды с неба хватаете?
Звёзды сами вас найдут. Без шаманства.
Спасибо, только не раньше чем минует корона. Ждемс...)))
К слову, англоязычный мир до сих пор использует свои величины: вместо метра - feet, вместо километра - mile, вместо килограмма - фунт и т.д...
Почему? - просто у них ЭГО больше и чихать они хотели на остальной мир. Они не приспосабливаются, - под них приспосабливаются, - но есть и те, кто создает свое, так сказать - берет с них пример, но вы выбираете первый вариант - приспосабливаться.
Каждому свое.
Однако глубину предпочитают измерять в метрах... мы на дне))