![]() |
1
14
首先,Ruby块最重要的不是:一个对象。它是一个句法结构,显然也有一个等价的实现——但它不是一个对象,因此不能接收消息。这就是你的例子
不合语法的lambda、procs-这些对象包装一个块,并具有
因此,块只是一段代码,可以传递给参数列表之外的一个方法——不多也不少。例如,如果您将它传递给proc.new构造函数,它将包装它并给您一个可以处理的对象:
|
![]() |
2
1
精度: 我甚至会说,在smalltalk中,绑定是由对象组成的。 想想方法上下文。 实际上,您要做的是将对象存储在方法上下文中。 所以
可以重写为:
但显然你不会这样写的,因为你需要知道were是temps变量。 |
![]() |
3
1
斯莫尔塔克的一个街区
是匿名对象。在语法上,它由
当被计算时,它将返回自己内部最后一个被计算的表达式,并且在它的协议中有很多方法。 以下是smalltalk块的类注释(在本例中,是Dolphin smalltalk 6.03社区版)
相比之下,
红宝石街区
只是一个参数字符串。它由一个
|
![]() |
Stilian · 存储库设置中没有Github页面部分 2 年前 |
![]() |
Kellen · 查看$卷展栏功能列表 2 年前 |
![]() |
Akshit Thakur Ak · 我怎样才能把铁轨停下来? 2 年前 |
![]() |
johncssjs · 将数组转换为每个元素的嵌套哈希 2 年前 |
![]() |
solidsnake99 · Rails db:如何绕过验证 2 年前 |