天使怪盗Dick 发表于 2011-3-8 23:24:43

郑冠求触

catch(:loop1) {
for i in 1..2
    for j in 1..2
      throw :loop1, j
    end
end
}

求大概解释

梦幻泡影 发表于 2011-3-9 00:59:18

直接跳出循环嵌套,赋值为1。(非专业,不是很确定)

真PKS同志 发表于 2011-3-9 20:51:36

本帖最后由 真PKS同志 于 2011-3-9 20:57 编辑

catch()括号里面的参数是一个块
你发的这个帖子里的块是现定义的

一般跳出某种结构比如循环时有break,但是只能跳一重,真正程序运行时往往比较深,一层套一层

catch和throw的话主要是对付异常用的,这时可以从套了很多层的内嵌结构中直接跳出来
可以参考学习一下这篇文章
http://my4java.itpub.net/post/9983/63710

页: [1]
查看完整版本: 郑冠求触