从头开始自学MQL5语言 - 页 33

 
Vladimir Simakov:

然后是模式...

是的,也有一个三元运算符)

从关于这条道路(理解和知道如何写)开始,开发者的道路实际上就开始了。IMHO

枚举和模板函数中大括号后面的分号是必要的吗,还是只是为了方便阅读?

 
Реter Konow:
这就是我的观点。现在不需要枚举和不必要的语法。
那么终端的API是用来做什么的?那里的列名比F.C.A.的列名要多一点。...和请求/结果结构等都很丰富)
 
Реter Konow:
"......但你还没有回答正确......"

Valeriy在他的脚本代码中已经回答了。

//+------------------------------------------------------------------+
//|                                                            1.mq5 |
//|                        Copyright 2020, MetaQuotes Software Corp. |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2020, MetaQuotes Software Corp."
#property link      "https://www.mql5.com"
#property version   "1.00"
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
  {
bool достаточно_времени=true;
bool достаточно_терпения=true;
//---
   if(достаточно_времени && достаточно_терпения)
     {
      Print("я выучу язык MQL 5");
     }
  }
//+------------------------------------------------------------------+

真诚的,弗拉基米尔。

 
MrBrooklin:

Valeriy在他的脚本代码中已经回答了。

尊敬的弗拉基米尔。

是的,这个变体在语法上是正确的,但它仍然缺乏逻辑。昨天Vasily写了很多关于函数的文章。这正是需要他们的地方。

bool Sufficient_time = Sufficient_time()。

bool Sufficient_time = Sufficient_time()。

如果(Sufficient_time && Sufficient_patience)Print("I will learn the language!")。

否则打印("我不会。")。

在你把它们放在条件中之前,你必须计算时间和耐心,而不是把它们设置为默认值,因为拥有条件的意义消失了--它总是真实的。
 
Valeriy Yastremskiy:

枚举和模板函数中大括号后面的分号和逗号是强制性的还是为了可读性?

一个打字错误。我最初想要一个带有宏绑定的模板对象,但决定不把它变得更糟)。

而对于枚举,是的,它是必要的。

 
Реter Konow:
...这正是需要他们的地方。

bool Sufficient_time = Sufficient_time()。

bool Sufficient_patience = Sufficient_patience()。

如果(Sufficient_time && Sufficient_patience)Print("I will learn the language!")。

否则打印("我不会。")。

Peter,向你提出一个反问:为什么在旨在存储布尔值 假的bool 类型 ,你指定了sufficiency_time()和sufficiency_patience()?

真诚的,弗拉基米尔。
 
MrBrooklin:

Peter,我想问你一个问题:为什么 你把sufficiency_time()和sufficiency_patience()指定bool 类型 ,而这个 类型 是用来存储逻辑值 假的

问候,弗拉基米尔。
因为这些是需要编写的函数,以计算变量 "Enough_time "和 "Enough_patience "的实际值。

这些函数必须包含导致一个逻辑上的是/否答案的参数计算,它们将在变量中返回。这些函数必须以逻辑上的真/假值返回结果。
 
Реter Konow:
"......是的,这种变体在句法上是正确的,但它仍然缺乏逻辑性......"

现在我完全糊涂了:为什么没有逻辑,即使使用了需要存储逻辑值的bool类型?那么,请澄清一下,什么是没有逻辑?

问候,弗拉基米尔。

 
MrBrooklin:

现在我完全糊涂了:为什么没有逻辑,即使使用了需要存储逻辑值的bool类型?请澄清什么是没有逻辑的?

尊敬的弗拉基米尔。

看:你事先将两个变量都设置为真(在条件之前)。因此,它们在剧本的每一次开始都是真实的。那我们为什么需要条件呢?在这个程序中,明确初始化为 "真 "的变量有可能不是 "真 "吗?- 不!因为你已经把这个值写进了它们,而且在代码中任何地方都不能改变。

在这种情况下,条件是不需要的,变量本身也是不需要的,因为脚本的结果永远是 "我将学习这种语言 "这个字符串。

然而,在额外的函数中计算变量值会导致不同的结果组合--一个会返回真,另一个会返回假,或者都会返回假,或者都会返回真......。在这种情况下,由于变量值的可能变化导致打印出不同的字符串,所以写入条件是合理的。
 
MrBrooklin:

现在我完全糊涂了:为什么没有逻辑,即使使用了需要存储逻辑值的bool类型?请澄清什么是没有逻辑的?

真诚的,弗拉基米尔。

没有逻辑,因为这些是在脚本中设置的变量。它们应该是由用户通过实例设置的变量,或者是从函数派生出来的,这更符合逻辑。

也就是说,脚本的效用应该始终存在。只是一个显示文本的脚本是没有用的。而随着数据的输入,这个脚本会告诉你是否可以学习语言)而对于函数,它们根本不存在,它们没有被写出来,如果你写,例如,从数学知识水平、其他语言知识、多少空闲时间、欲望水平和记忆能力来计算,函数将根据计算结果返回真或假,那么有用性会更大))))。