我想知道是否有人可以告诉我以下代码行实际上会做什么。我不是PowerBuilder开发人员,但我试图用现代语言重新创建一个软件,并且只是想知道这一行的确切内容。
var_1 = ' ';
var_2 = ' ';
var_3 = ' ';
....
//some logic that might change var_1, var_2, or var_3
....
var_all = var_1 + var_2 + var_3
if trim(var_all) > " " and trim(var_all) > "" then //that's 4 spaces
//some logic
end if
我有一种感觉,这是检查长度,但无法确定是什么>运算符在PowerBuilder中使用字符串。
我认为应该发生的事情是var_all
字符串的总长度是否大于4,请//some logic
,但我无法确定。
答案 0 :(得分:3)
简而言之:字符串运算符<,>和=根据您当前的区域设置对两个字符串进行区分大小写的字母比较。
EX:区域设置 =丹麦排序=> 'AA'在'Z'后排序('AA'相当于'Å')
Trim(var_all)
删除所有前导和尾随空格(但只有ASCII空格= ASCII值0x20)... > ""
实现“任何非空字符串”... > " "
实现“任何字符串排序 空格字符后”
在您的上下文中,可以在PowerScript中获取等效行为,如下所示:
IF Trim(var_all) > " " THEN
...
END IF
答案 1 :(得分:2)
你要把它改成现代语言......哈哈哈...我解释一下:Trim()删除字符串两边的空格,任何空字符串都不符合输入if的条件,但是如果var_all例如是:Var_all =" 1"遇见并进入if。您实际上是在验证var_all是否具有不是目标的值。
答案 2 :(得分:0)
您可以使用以下代码检查var_all buy的长度:
var_1
,var_2
,var_3
声明为1个空格,函数trim()
将删除所有空格。
if len(trim(var_all)) > 0 then
//some logic
end if
答案 3 :(得分:-1)
使用小于和大于字符串是不正常的。它总是会返回false。要比较字符串长度,您必须使用Len函数。