iori2882 发表于 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)这个是什么意思?看了别人的程序好像是返回了函数值,具体怎么用啊? 能举个例子最好了。。。。。。。

rchockxm 发表于 2012-7-31 14:37:19


func _cheshi($xxx)
msgbox($xxx)
endfunc
試試就知道了

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

whitehead 发表于 2012-7-31 15:02:57

func _cheshi($xxx)中$xxx是参数,如函数依赖参数的话。象你的例子里函数就不依赖参数
我理解,“返回的函数值”指函数运行过程中产生并保留的一些结果,一般都用到关键字:return

xiaowo 发表于 2012-7-31 17:12:05

本帖最后由 xiaowo 于 2012-7-31 17:13 编辑

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

func abc($bb)
msgbox(0, "", $bb)
endfunc

xiaowo 发表于 2012-7-31 17:12:43

这个不是返回值,我的理解是 参数传递 吧

xiaowo 发表于 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)
;有参数且设置了默认值可以不写参数的调用但是只能不写全部或后面的不能写后面而不写前面

魔导 发表于 2012-7-31 20:16:58

写得太乱了    楼主用的时候要把FUNC写在最后面哦

xlj310 发表于 2012-8-1 07:17:02

回复 8# 魔导


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

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

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


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

MsgBox(0,'求和',MyAdd(12,3))
页: [1]
查看完整版本: 自定义函数的返回值是怎么回事呢?(已解决)