开发者社区> 问答> 正文

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

在C/C++里

void f(){
    int x=1;
    {
        x=2;
    }
    {
        x=3;
    }
}
我们可以这样区分多个块来进行对x的划分,而且在C/C++里面,这样是允许的,也有很多这样的例子;但是在Ruby里面

def f
    x=1
    {
        x=2
    }
end

这样的写法是不允许的。在Ruby里面一个块必须得有一个方法来引导或者必须作为一个对象来保存

对于这点有点不明白

展开
收起
a123456678 2016-06-08 20:24:57 1968 0
1 条回答
写回答
取消 提交回答
  • 因为C语言的'块'和Ruby的'块'是不一样的东西。
    C语言的'块'除了它自己是一级作用域之外和普通的代码没有区别。
    至于Ruby的'块',你确定你学过Ruby?
    Ruby的'块'比较复杂,简单来说,你可以认为它等同于C语言的函数,而不只是一个C语言的‘块’。

    2019-07-17 19:32:41
    赞同 展开评论 打赏
问答分类:
问答标签:
问答地址:
相关产品:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载