我们正在尝试解密一些规则语法,并且不确定其起源。

这是一个例子:

(CARS->TYPE='C').and.(CARS->CD_CODE<>'').and.('|'+INVOICE->TYPE+'|'$'|AAA|').and.('|'+SUBSTR(INVOICE->TYPE,1,2)+'|'$'|11|')

具体来说,我们试图了解|$。任何人都可以让我知道他们是否看到过与源语言相似的内容,或者对|$的正确解释吗?

最佳答案

从语法上,我们可以看出它是一种“现代”语言。记住“现代”吧;)

substr
.and.
->

与cobol和汇编语言相比,它们非常现代。



伪代码如下所示:
(if car type is 'C'
and
if car cd_code is not empty
and
if invoice type is 'AAA'
and
if invoice type first 2 letters are '11')
then return true

我对使用$的猜测是:
= and <> are only when compare against a character
$ when compare array of character, i.e. strings.

(我不知道输出结果是什么,因为它会将整个发票类型与AAA进行比较,甚至将前两个字母与11进行比较。也许您在提交代码之前就已对其进行了编辑?)

Fortran 90 可能是一个猜测,但即使是 DBase III 也可能是这样。

DBase链接:
http://lynnbob.com/bob/articles/DBASEIIIPlusLevel2.htm

Fortran链接:
http://www.ews.uiuc.edu/~mrgates2/docs/fortran.html

对于DBASE,关于管道...

如果传递参数,则必须用|分隔。 | ( pipe )。即使未传递任何参数,也需要管道||。如果您传递参数,则它们在||中定界。

10-05 18:12