vf中的set exact on 命令set exact ons="ni"+spac(2)if s=="ni"if s="ni"'one'else"two"endifelseif s="ni""three"else"four"endifendif为什么结果是three,不是four?
问题描述:
vf中的set exact on 命令
set exact on
s="ni"+spac(2)
if s=="ni"
if s="ni"
'one'
else
"two"
endif
else
if s="ni"
"three"
else
"four"
endif
endif
为什么结果是three,不是four?
答
set exact on 意思是精确比较,与“==”这个还是有区别的
set exact on 是忽略表达式的结尾的空格,比较两个表达式时,在较短的一个的右边加上空格,以使它与较长的表达式的长度相匹配,比较到两个表达式中的对应字符不相等或者到达两个表达式的末端,就停止比较了.在这种情况下"ni "="ni"返回的是.T.是相等的