1

我有一个这样的 SQR 码:

开始程序 SPL-REMOVE($Vndr_Name_Shrt_Usr, :$outputshrt)

设 $valid_chars_shrt = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz -.:/'@0123456789@()=+%*"£$'

让 $invalid_chars_shrt = translate($Vndr_Name_Shrt_Usr, $valid_chars_shrt, '')

让#invalid_shrt = 长度($invalid_chars_shrt)

如果#invalid_shrt

让 $outputshrt = translate($Vndr_Name_Shrt_Usr, $invalid_chars_shrt, '')

别的

令 $outputshrt = $Vndr_Name_Shrt_Usr

万一

结束程序

在运行 SQR 时,我收到此错误:

(SQR 4008) 表达式中的未知函数或变量:@0123456789@ 令 $valid_chars_shrt = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz -.:/'@0123456789@()=+%*"£$'

我可以知道为什么会这样吗?我怎样才能避免出现这样的错误?

4

1 回答 1

0

如果这确实是代码:让 $valid_chars_shrt = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz -.:/'@0123456789@()=+%*"£$'

问题在于@012345678 之前的单引号。它使引用的字符串不平衡。将其更改为两个单引号 '' (不是双引号)。这应该有效,但除非我测试它,否则不能保证。

于 2020-07-01T14:41:03.493 回答