查看: 2573|回复: 9

if语句中后面什么内容都没有的return是干啥用的?

  [复制链接]
梦石
0
星屑
50
在线时间
3 小时
注册时间
2005-12-4
回帖
55
发表于 2009-5-20 05:24:41 | 显示全部楼层 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有账号?注册会员

×
比如:

  1. if A
  2.   if B
  3.      C
  4.      return
  5.   end
  6.   D
  7. end
复制代码


后面没有内容的return是什么意思?
为什么这个if A语句后面的D就不执行了呢?
版务信息:本贴由楼主自主结贴~

梦·贤者

梦石
0
星屑
50
在线时间
1141 小时
注册时间
2007-12-15
回帖
4075
发表于 2009-5-20 05:33:13 | 显示全部楼层
if 嵌套

只要不满足B的条件,就会执行D了。
如果满足B的条件,执行完C之后直接返回了,就不会再执行D了
http://rpg.blue/home.php?mod=space&uid=34951&do=blog&id=12799
回复

使用道具 举报

龙皇

梦石
0
星屑
50
在线时间
83 小时
注册时间
2007-8-8
回帖
2623
发表于 2009-5-20 05:36:54 | 显示全部楼层
return 有回传的意味在里头。
一旦一个函式碰到return  該函式执行就会立即结束

                签名图来自:無限のファンタジア
                 我的RMXP专题空间--龙使传说
回复

使用道具 举报

梦石
0
星屑
50
在线时间
3 小时
注册时间
2005-12-4
回帖
55
 楼主| 发表于 2009-5-20 05:53:27 | 显示全部楼层
那和break有什么区别呢?break是只在循环中使用的么?
回复

使用道具 举报

梦石
0
星屑
50
在线时间
2 小时
注册时间
2007-9-4
回帖
230
发表于 2009-5-20 05:57:02 | 显示全部楼层
以下引用xyxw于2009-5-19 21:53:27的发言:
<BR><SCRIPT language="javascript">
   
strCont="那和break有什么区别呢?break是只在循环中使用的么?";
document.write(ubb.spbShowTopic(strCont,1));
//-->
</SCRIPT>那和break有什么区别呢?break是只在循环中使用的么?

break是中断当前的循环,return是返回当前的函数(方法)
[fly][/fly]
回复

使用道具 举报

头像被屏蔽
梦石
0
星屑
50
在线时间
0 小时
注册时间
2008-10-16
回帖
408
发表于 2009-5-20 05:58:45 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽
回复

使用道具 举报

梦石
0
星屑
50
在线时间
3 小时
注册时间
2005-12-4
回帖
55
 楼主| 发表于 2009-5-20 06:00:39 | 显示全部楼层
return就是中断if语句么?还是中断所有的?
回复

使用道具 举报

梦石
0
星屑
50
在线时间
2 小时
注册时间
2007-9-4
回帖
230
发表于 2009-5-20 06:04:03 | 显示全部楼层
以下引用xyxw于2009-5-19 22:00:39的发言:
<BR><SCRIPT language="javascript">
   
strCont="return就是中断if语句么?还是中断所有的?";
document.write(ubb.spbShowTopic(strCont,1));
//-->
</SCRIPT>return就是中断if语句么?还是中断所有的?

return是返回当前的函数
[fly][/fly]
回复

使用道具 举报

头像被屏蔽
梦石
0
星屑
50
在线时间
0 小时
注册时间
2008-10-16
回帖
408
发表于 2009-5-20 06:04:07 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽
回复

使用道具 举报

龙皇

梦石
0
星屑
50
在线时间
83 小时
注册时间
2007-8-8
回帖
2623
发表于 2009-5-20 06:11:26 | 显示全部楼层
以下引用xyxw于2009-5-19 22:00:39的发言:

return就是中断if语句么?还是中断所有的?

不能这麼说
return通常是用在函式或方法中

例如:
def compare_ten(num)
  return "big" if num > 10
  return "small" if num < 10
  return nil
end

p compare_ten(9)  # "small"
p compare_ten(11) # "big"
p compare_ten(10) # nil

                签名图来自:無限のファンタジア
                 我的RMXP专题空间--龙使传说
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部