Ruby的块和C语言的块的区别-问答-阿里云开发者社区-阿里云

开发者社区> 问答> 正文

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

a123456678 2016-06-08 20:24:57 1065

在C/C++里

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

def f
    x=1
    {
        x=2
    }
end

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

对于这点有点不明白

C语言 C++ Ruby
分享到
取消 提交回答
全部回答(1)
  • a123456678
    2019-07-17 19:32:41

    因为C语言的'块'和Ruby的'块'是不一样的东西。
    C语言的'块'除了它自己是一级作用域之外和普通的代码没有区别。
    至于Ruby的'块',你确定你学过Ruby?
    Ruby的'块'比较复杂,简单来说,你可以认为它等同于C语言的函数,而不只是一个C语言的‘块’。

    0 0
开发与运维
使用钉钉扫一扫加入圈子
+ 订阅

集结各类场景实战经验,助你开发运维畅行无忧

推荐文章
相似问题
推荐课程