找回密码
 点一下
查看: 2107|回复: 10

新人问题关于函数返回值

[复制链接]
发表于 2008-2-3 17:16:23 | 显示全部楼层 |阅读模式
反复看了下教程,其中那个function语句后接的函数返回returns一直有点迷糊。
[codes=jass]function xyz takes integer a,real b,string c returns integer[/codes]

譬如这个语句,最后这个returns integer到底是个什么意思有什么作用呢,或者说为后面的语句编写奠定了什么基础呢。
发表于 2008-2-3 17:23:06 | 显示全部楼层
引用楼主卡巴死机于2008-02-03 17:16发表的 新人问题关于函数返回值 :
反复看了下教程,其中那个function语句后接的函数返回returns一直有点迷糊。
[codes=jass]function xyz takes integer a,real b,string c returns integer[/codes]

譬如这个语句,最后这个returns integer到底是个什么意思有什么作用呢,或者说为后面的语句编写奠定了什么基础呢。

说明函数的返回值类型是integer,也就是整数,也就是这个函数可以作为一个整数还用
回复

使用道具 举报

发表于 2008-2-3 17:24:51 | 显示全部楼层
意思就是这个函数会返回一个integer数值
看你要写啥函数了,如果需要函数回馈数据给你的话可以返回他
比方说我写一个计算两个数相加
function add takes integer a, integer b returns integer c
return a+b
endfunction
而我在调用这个函数的地方可以直接
local integer c = add(10, 20)
回复

使用道具 举报

 楼主| 发表于 2008-2-3 17:43:36 | 显示全部楼层
LS local integer c = add(10, 20)    add(10,20)括号里的值是怎么得来的呢,是不是就是表示是(a,b)?
一开始的function语句是为变量注册,也就是说后面的返不返回是为以后语句做基础?
譬如说我最开始给的那个语句后面接的是returns nothing与returns integer或者说改成returns real具体有什么区别呢...
新人比较愚笨
回复

使用道具 举报

发表于 2008-2-3 17:48:58 | 显示全部楼层
引用第3楼卡巴死机于2008-02-03 17:43发表的  :
LS local integer c = add(10, 20)    add(10,20)括号里的值是怎么得来的呢,是不是就是表示是(a,b)?
一开始的function语句是为变量注册,也就是说后面的返不返回是为以后语句做基础?
譬如说我最开始给的那个语句后面接的是returns nothing与returns integer或者说改成returns real具体有什么区别呢...
新人比较愚笨

ls没看见吗??
function add takes integer a, integer b returns integer c
return a+b
endfunction
这段代码不就是申明了add(a,b)这个函数吗?

返回值是什么类型,就相当于这个函数可以作为这个类型的值来用
return integer就是这个函数可以当整数来用
return real就是能做实数用
return nothing就相当于其他一些语言中void那样无返回值,只能直接调用
回复

使用道具 举报

 楼主| 发表于 2008-2-3 17:50:38 | 显示全部楼层
引用第4楼zhuzeitou于2008-02-03 17:48发表的  :


ls没看见吗??
function add takes integer a, integer b returns integer c
return a+b
.......
有点了解了
回复

使用道具 举报

发表于 2008-2-3 17:53:58 | 显示全部楼层
额………………发现darkfall大人的例子举的有些些问题

function add takes integer a, integer b returns integer c
return a+b
endfunction

第一行中return后边只能是变量类型,不能带变量名的,就是说应该是
function add takes integer a, integer b returns integer
return a+b
endfunction
这样的………………
回复

使用道具 举报

发表于 2008-2-3 17:55:28 | 显示全部楼层
厄,顺手打错了...
抱歉
回复

使用道具 举报

发表于 2008-2-3 18:25:43 | 显示全部楼层
研究lua罢。支持多返回值。而且貌似可以做偶的苦力。喵哈哈。
回复

使用道具 举报

发表于 2008-2-3 21:18:36 | 显示全部楼层
恩。。返回值

比如说你有一个榨汁机,给他一个苹果,他就给你一杯果汁之类的。

恩,比如呢,有一只可爱的猪猪,你也给他一个苹果,然后他给回你的是一堆便便。

函数,参数,返回值请自行对照
回复

使用道具 举报

发表于 2008-2-3 21:20:47 | 显示全部楼层
详细的例子
[code=trigger]榨汁机(水果,水)
把水果切块
把水果和水混合
打碎他们
返回 果汁[/code]
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 点一下

本版积分规则

Archiver|移动端|小黑屋|地精研究院

GMT+8, 2024-5-23 01:36 , Processed in 0.031315 second(s), 18 queries .

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

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