解读X++中的分号

系统 1477 0

X++代码中有个分号特别有意思,看起来像是把变量的声明段和代码部分分开了,便于编译器解析。我们会发现,有时候不加这个分号,代码编译也不会有错,而有时候又不得不加。有人说,如果代码部分开始的第一个词语是一个关键字,则可以不加。这种说法没错,但没解释原因。总之,目的只有一个,就是为了编译器能够顺利解析哪些部分是声明,哪些部分是代码。

请看下面的代码:

    static void Job18(Args _args)

{

    ItemId  itemId;



    itemId = '1000';

}
  

上面的代码是没法编译通过的,原因就是声明和代码体部分少了一个分号。而下面的代码却又是编译通过的:

    static void Job18(Args _args)

{

    ItemId  id;



    id = '1000';

}
  

这是为什么呢?因为X++是一种大小写不敏感的语言,在第一种情况下,ItemId和itemId被看成是一码事,于是就把“itemId = '1000';”这句话也当成是变量声明了,但变量声明的时候,需要有一个变量名,而不是在变量类型后面直接接一个等号,于是编译器就报错了。

再看下面的例子:

    // Cannot compile

static void Job18(Args _args)

{

    ItemId      id;

    AccountNum  accountNum;



    accountNum = '1000';

    id = 'CUST111';

}





// Can compile

static void Job18(Args _args)

{

    ItemId      id;

    AccountNum  accountNum;



    id = 'CUST111';

    accountNum = '1000';

}
  

有意思吧?总之,只要能够让编译器自动区分声明段和代码段,中间这个分号就可以省略。代码段中的特定关键字(比如if, switch, super等)是肯定不会用来声明变量的,因此他们的出现也代表了代码段的起始。因此编译器是不会报错的。

解读X++中的分号


更多文章、技术交流、商务合作、联系博主

微信扫码或搜索:z360901061

微信扫一扫加我为好友

QQ号联系: 360901061

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描下面二维码支持博主2元、5元、10元、20元等您想捐的金额吧,狠狠点击下面给点支持吧,站长非常感激您!手机微信长按不能支付解决办法:请将微信支付二维码保存到相册,切换到微信,然后点击微信右上角扫一扫功能,选择支付二维码完成支付。

【本文对您有帮助就好】

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描上面二维码支持博主2元、5元、10元、自定义金额等您想捐的金额吧,站长会非常 感谢您的哦!!!

发表我的评论
最新评论 总共0条评论