为了账号安全,请及时绑定邮箱和手机立即绑定

Ruby的块和C语言的块的区别

Ruby的块和C语言的块的区别

守着星空守着你 2019-04-19 16:29:41
在C/C++里voidf(){intx=1;{x=2;}{x=3;}}我们可以这样区分多个块来进行对x的划分,而且在C/C++里面,这样是允许的,也有很多这样的例子;但是在Ruby里面deffx=1{x=2}end这样的写法是不允许的。在Ruby里面一个块必须得有一个方法来引导或者必须作为一个对象来保存对于这点有点不明白
查看完整描述

2 回答

?
白衣染霜花

TA贡献1796条经验 获得超10个赞

因为C语言的'块'和Ruby的'块'是不一样的东西。C语言的'块'除了它自己是一级作用域之外和普通的代码没有区别。至于Ruby的'块',你确定你学过Ruby?Ruby的'块'比较复杂,简单来说,你可以认为它等同于C语言的函数,而不只是一个C语言的‘块’。Ruby的block
                            
查看完整回答
反对 回复 2019-04-19
?
凤凰求蛊

TA贡献1825条经验 获得超4个赞

你说的块是在c里是块级作用域,而ruby里是没有办法像c那样声明一个单独的块级作用域ruby的作用域一般是通过class、def关键字或者用block、lambda表现的
                            
查看完整回答
反对 回复 2019-04-19
  • 2 回答
  • 0 关注
  • 520 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号