#define цикл for #define целое int #define Печать Printvoid OnStart(){
целое Сумма =0;
цикл ( целое Номер = 0; Номер < 10; Номер++) Сумма += Номер;
Печать ( Сумма );}
// Типы данных #define логический bool #define символ char #define бзсимвол uchar #define короткий short #define бзкороткий ushort #define целый int #define бзцелый uint #define длинный long #define бздлинный ulong #define двойной double #define плавающий float #define цвет color #define датавремя datetime #define строка string #define перечисление enum #define структура struct #define класс class #define безтипа void // Спецификаторы доступа #define константа const #define личный private #define защищенный protected #define публичный public #define виртуальный virtual // Классы памяти #define внешний extern #define статический static #define ввод input // Операторы #define поумолчанию default #define размер sizeof #define новый new #define удалить delete #define если if #define иначе else #define выбор switch #define вариант case #define выполнить do #define пока while #define цикл for #define прервать break #define продолжить continue #define возврат return // Прочие #define ложь false #define этот this #define истина true
总的来说,我想说的是,官僚们根本就不参与编程,金融家们也不认为制作自己的 "报告 "是编程,所有这些都是为了说明,我们应该在任何产品中区分 "用户 "和 "程序员"。现在我们谈论的是为程序员提供的环境,而 "会计师-金融家",作为用户,在这个话题中根本没有代表性,还有那些不打开元编辑器的交易员......。他们对 "俄罗斯 "或 "非俄罗斯 "不屑一顾......
现在我明白了。我可以给你举一个我以前同事的例子(已经)。他们学习1C的速度更快,因为它是俄语,几乎和用户一样。做一个模块,通过 "定义 "来定义一切,这很难吗?而且会有俄语或其他语言的编程。
并不困难,这里的代码编译起来没有错误
问题是,它是什么:未完成的bugfitch还是将继续如此? 因为它可能会发生,所以有一天开发人员得到他们的检查,他们决定禁止在定义中使用保留字:(
这并不难,以下是编译时没有错误的代码
问题是它是什么:一个未完成的bugfix还是会一直这样下去? 因为它可能会发生,所以有一天开发人员会被检查,并决定禁止在定义中使用保留字 :(
从技术上讲,定义是解析过程中使用的一组特定的语言标记。
禁止任何令牌或任何一组令牌是没有意义的。
唯一重要的是,我们不能允许对语言语句(if、for、return...)进行覆盖。
现在我们也在考虑将 "系统 "语言功能从可能的定义列表中排除。
这并不难,以下是编译时没有错误的代码
问题是它是什么:一个未完成的bugfix还是会一直这样下去? 因为它可能会发生,所以有一天开发人员会被检查,并决定禁止在定义中使用保留字 :(
如果他们的预处理器按照Sisch原则工作,就不会出现检查。
我唯一不确定的是,Cish预处理程序会给这个宏起一个俄文名字。:)
唯一重要的是,语言运算符不能被重写(if、for、return...)。
当然它们不能被重新定义,但它们可以被 "重命名"(在我的例子中,for被一个循环重命名)。
从技术上讲,定义是语言中的一组令牌,在解析过程中被插入。
禁止任何令牌或任何一组令牌是没有意义的。
唯一重要的是,我们不能允许对语言语句(if、for、return...)进行覆盖。
我们现在正在考虑将 "系统 "语言功能从可能的定义列表中排除。
禁止--我们的公民所习惯的东西。
禁止--我们的公民已经习惯了的东西。不知道这是什么意思....
>>所以你可以。
#define если "тут можно написать что угодно и это всё вставиться в код при встрече 'если'"
这不是做这件事的方法。
#define if "нельзя ключевые слова переопределять - ошибка компиляции"
可能无法做到这一点。#define Sleep "на данный момент так написать можно, но скорее всего это мы прикроем - будет ошибкой при компиляции"
下面是帮助中的一个选择。欢迎任何想要的人试用;)
下面是帮助中的一个选择。如果你愿意,你可以试试;)
你也可以把它放到mqh-check中,把inlude的调用直接写进模板。
你在寻找什么?