找回密码
 加入
搜索
查看: 3843|回复: 5

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

  [复制链接]
发表于 2013-3-14 16:52:08 | 显示全部楼层 |阅读模式
本帖最后由 ioripalm 于 2013-3-20 11:46 编辑

比如:
Func _funcaa()
        Global $aa = 1
EndFunc   ;==>_funcaa
If Not $aa Then
        _funcaa()
EndIf
我知道上面这样写出错,应该怎么写?IF 后面的语法是什么?
发表于 2013-3-14 17:00:28 | 显示全部楼层
本帖最后由 pusofalse 于 2013-3-14 17:01 编辑
If Not IsDeclard("aa") Then
    ; $aa 未定义
   _funcaa()
EndIf
在函数之内声明一个全局变量,这是一种很不好的写法,应该避免之。
 楼主| 发表于 2013-3-14 17:53:54 | 显示全部楼层

IsDeclared

回复 2# pusofalse

IsDeclared
    那这个变量我需要在函数外给别的函数用的话,应该怎么写?
发表于 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

评分

参与人数 1威望 +5 金钱 +20 收起 理由
pusofalse + 5 + 20

查看全部评分

发表于 2013-3-19 23:51:31 | 显示全部楼层
可以看下参数互传的一些小方法
发表于 2013-3-20 00:13:46 | 显示全部楼层
IsDeclared判断变量是否存在。
赋值的话可以用Assign,  获得变量可以用Eval
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-9-29 09:20 , Processed in 0.116282 second(s), 27 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表