我们正在尝试解密一些规则语法,并且不确定其起源。
这是一个例子:
(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 )。即使未传递任何参数,也需要管道||。如果您传递参数,则它们在||中定界。