Длина такой строки один символ.
ВНЕЗАПНО, да? :)
https://docs.mql4.com/ru/basis/types/casting
https://docs.mql4.com/ru/constants/special
ВНЕЗАПНО, да? :)
Может быть для вас и внезапно, а так - коллизия.
ВНЕЗАПНО, да? :)
void start() { string a = NULL; Alert("\"", a, "\", ", StringLen(a), ", ", StringGetChar(a, 0)); }Этот NULL преобразуется в строчный нуль.
https://docs.mql4.com/ru/basis/types/casting
https://docs.mql4.com/ru/constants/special
Может быть для вас и внезапно, а так - коллизия.
Для меня - да: ВНЕЗАПНО.
Как я и сказал "и про старуху...". :)
Вопрос не в том, что RTFM, а в том, что если null / NULL- это общепринятое понятие-
а кто-то переопределил семантику- то это на самом деле не проблема того, кто не rtfm.
То же самое, кстати, с short-circuite or/and || / &&.
Да, я тоже по этому поводу в недоумении. Понятно, почему так сделали, но зачем вообще сохранили это обозначение?
Впрочем, это явно в русле общего MQL-подхода.
Блин, ну надоело уже, вам не нравится этот язык, терминал, подход ? Что вы в этом случае здесь делаете ??? Есть куча других "прекрасных" платных и "современных" терминалов, с чудными языками и поддержкой, почему бы вам не пойти туда ?
Блин, ну надоело уже, вам не нравится этот язык, терминал, подход ? Что вы в этом случае здесь делаете ??? Есть куча других "прекрасных" платных и "современных" терминалов, с чудными языками и поддержкой, почему бы вам не пойти туда ?
В процессе. Впрочем, я собственных языков изобретать не люблю.
А вот кстати, раз уж вы такой знаток RTFM-ов, а не растолкуете ли мне тогда поведение вот этого кода:
int start() { string a = NULL; Print(iMA(a, 0, 10, 0, MODE_SMA, PRICE_CLOSE, 1)); Print(iMA(NULL, 0, 10, 0, MODE_SMA, PRICE_CLOSE, 1)); return(0); }
Я потерял сегодня кучу времени на этой штуке... :(
Переписываю, понимаете ли, код - это полезно иногда делать.
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Грешным делом, думал основы MQL4 худо-бедно знаю. Однако, "и про старуху бывает порнуха" (с) народное.
Сегодня узнал следующее:
1.Нельзя использовать NULL в качестве выражения инициализации export-переменных.
2.Нельзя использовать NULL в качестве значения по умолчанию в параметрах функции.
3.Неизвестно, как проверить, что строка содержит NULL.
4.Никогда не догадаетесь, что напечатает этот простенький скрипт: