找回密码
 加入
搜索
查看: 4447|回复: 9

[AU3基础] 自定义函数的返回值是怎么回事呢?(已解决)

  [复制链接]
发表于 2012-7-31 14:35:24 | 显示全部楼层 |阅读模式
本帖最后由 iori2882 于 2012-8-1 12:42 编辑

在论坛照虎画猫也有一阵子了,毕竟不是计算机专业毕业的,所有有的东西还是弄不明白
  func _ceshi()
  $i=2
  if $i<3 then
  msgbox(0,0,1)
  endif
endfunc
上面的自定义函数 我从来都这么用,但是func _cheshi($xxx)这个是什么意思?看了别人的程序好像是返回了函数值,具体怎么用啊? 能举个例子最好了。。。。。。。
发表于 2012-7-31 14:37:19 | 显示全部楼层
func _cheshi($xxx)
msgbox($xxx)
endfunc
試試就知道了
发表于 2012-7-31 15:00:45 | 显示全部楼层
本帖最后由 xiehuahere 于 2012-7-31 15:03 编辑

回复 1# iori2882


函数是可以从外部传参(传递参数)进去的,也是可以返回数据(返回值)出来的。
  
func _cheshi($xxx)
这个$xxx就是传进去的参数

函数内通过 return $yyy 返回数值出来。
调用函数时  $ret = _cheshi($xxx)
这样就将函数的返回值$yyy 赋给$ret,即通过$ret变量获取到了函数的返回值。

还有一种高级用法——传址,这里就暂且先不说了。

PS: 本人同样不是计算机专业。我有个同事是从扬州大学历史系本科考上了北京大学计算机系研究生的。
只要有兴趣,只要想钻研,会有提高的。
楼主加紧修炼啊,成精后可以为论坛多做贡献 ^_^

评分

参与人数 1金钱 +20 收起 理由
iori2882 + 20 谢谢你 原理说的和明白

查看全部评分

发表于 2012-7-31 15:02:57 | 显示全部楼层
func _cheshi($xxx)中$xxx是参数,如函数依赖参数的话。象你的例子里函数就不依赖参数
我理解,“返回的函数值”指函数运行过程中产生并保留的一些结果,一般都用到关键字:return
发表于 2012-7-31 17:12:05 | 显示全部楼层
本帖最后由 xiaowo 于 2012-7-31 17:13 编辑

$aa = "测试"
abc($aa)

func abc($bb)
msgbox(0, "", $bb)
endfunc
发表于 2012-7-31 17:12:43 | 显示全部楼层
这个不是返回值,我的理解是 参数传递 吧
发表于 2012-7-31 17:23:16 | 显示全部楼层
再PS一下,这个和所学专业完全没关系的……
发表于 2012-7-31 20:16:04 | 显示全部楼层
呵呵   楼主跟我一样的迷糊咯
Func a($a);  a 是函数名   $a 是参数 可以传递到函数里的变量 可以是一个或多个  
        MsgBox(0,0,$a);这个就是传递进来的数值
Return $a+3;这是返回值  一般用于求值  或 判断函数是否成功
EndFunc 
MsgBox(0,0,a(16));这是函数调用  并把  16 传递进函数里面
$b = a(15);这是把  函数的返回值 赋 给 $b
;~ PS:参数  还可以设置  默认值   列:
Func b($x = 12,$y = 18)
        MsgBox(0,0,$x)
        MsgBox(0,0,$y)
        Return $x+$y
EndFunc
b()
b(1)
b(1,5)
;有参数且设置了默认值  可以不写参数的调用  但是只能不写全部  或  后面的  不能写后面而不写前面

评分

参与人数 2金钱 +40 贡献 +1 收起 理由
iori2882 + 20 xiexe 很详细
afan + 20 + 1

查看全部评分

发表于 2012-7-31 20:16:58 | 显示全部楼层
写得太乱了    楼主用的时候  要把  FUNC  写在最后面哦
发表于 2012-8-1 07:17:02 | 显示全部楼层
回复 8# 魔导


    你不要弄这些没有意义的给他看,直接写个加减法给他会更容易理解的!

另外楼主,函数这个东东学了计算机专业是容易理解,但不学计算机专业,在使用Office软件特别是Excel中用到函数的地方实在是太多了,所以不要认为你对函数不熟,就找你不是计算机专业来推辞,其实对于计算机专业来说,这都只是基础知识!

实在不会,你就百度一下,百度他什么都知道~


Func MyAdd($a,$b)
        Return $a+$b
EndFunc

MsgBox(0,'求和',MyAdd(12,3))
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-9-30 03:18 , Processed in 0.089745 second(s), 24 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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