libreoffice中的隐式声明基本

时间:2017-05-18 15:45:54

标签: basic libreoffice-basic

我尝试了示例代码herea)。令人惊讶的是,现实并非预期的行为。

使用Win7和LO 4.4.2.2,我看到bc被声明为值为0的整数, /// <summary> /// Construct a new Luis client with a shared <see cref="HttpClient"/> instance. /// </summary> /// <param name="appId">The application ID of the LUIS application</param> /// <param name="appKey">The application subscription key of the LUIS application</param> /// <param name="baseApiUrl">Root URI for the service endpoint.</param> /// <param name="preview">A flag indicating whether to use preview features or not (Dialogue)</param> /// top scoring in case of using the dialogue</param> public LuisClient(string appId, string appKey, string baseApiUrl, bool preview = false) 为空。

使用Ubuntu 16.04和LO 5.1.6.2,它们都是空的。

知道如何解释第一种情况吗?

1 个答案:

答案 0 :(得分:1)

来自https://help.libreoffice.org/Basic/Using_Variables

  

声明变量后,它会自动设置为“Null”值。声明后,数字变量会自动赋值“0”。

正如问题中的链接似乎暗示的那样,隐式初始化是Basic中糟糕的编程习惯。使用旧版本时,奇怪的结果应该不会令人惊讶。

使用Perl,$a = $b + $c;将$ a的值设置为零,因为它是一个数学结果,$ b和$ c初始化为空字符串。尽管现在推荐使用use strict,但Perl在促进未声明变量方面有着悠久的历史。