ioripalm 发表于 2013-3-14 16:52:08

[已解决]IF 语句如何判断一个变量是否存在?

本帖最后由 ioripalm 于 2013-3-20 11:46 编辑

比如:Func _funcaa()
        Global $aa = 1
EndFunc   ;==>_funcaa
If Not $aa Then
        _funcaa()
EndIf我知道上面这样写出错,应该怎么写?IF 后面的语法是什么?

pusofalse 发表于 2013-3-14 17:00:28

本帖最后由 pusofalse 于 2013-3-14 17:01 编辑

If Not IsDeclard("aa") Then
    ; $aa 未定义
   _funcaa()
EndIf在函数之内声明一个全局变量,这是一种很不好的写法,应该避免之。

ioripalm 发表于 2013-3-14 17:53:54

IsDeclared

回复 2# pusofalse

IsDeclared
    那这个变量我需要在函数外给别的函数用的话,应该怎么写?

guowenfu 发表于 2013-3-19 17:17:46

If Not IsDeclared("a") Then
    MsgBox(0, "", "$a is NOT declared") ; $a has never been assigned
EndIf

Local $a = 1

If IsDeclared("a") Then
    MsgBox(0, "", "$a IS declared") ; due to previous $a=1 assignment
EndIf

正确的语法。

可以考虑 如下两种方法。。

可以使用全局变量,即global ,这样其他的函数都可以调用到;

还可以使用局部变量,函数一执行的返回值给函数二调用

例子
Func A()
      local $a=1,$b=2
      $c=$a+$b
      Return $c
ENDFUNC

FUNC Main()
       local $d
       $d = A()
       ConsoleWrite($d)
ENDFUNC

wql8549 发表于 2013-3-19 23:51:31

可以看下参数互传的一些小方法

mbdnmt 发表于 2013-3-20 00:13:46

IsDeclared判断变量是否存在。
赋值的话可以用Assign,获得变量可以用Eval
页: [1]
查看完整版本: [已解决]IF 语句如何判断一个变量是否存在?