gpt4 book ai didi

smalltalk - Smalltalk 中的 block 可以单独运行吗?

转载 作者:行者123 更新时间:2023-12-03 06:51:59 27 4
gpt4 key购买 nike

我知道 block 可以通过这种方式传递和使用。

但是有什么方法可以通过拥有一个 block 来调用一个 block 吗?像这样的吗?

aBlock := [ ... ].
aBlock run.

我尝试在系统浏览器中搜索 BlockClosure 类,但找不到它。

最佳答案

是的!事实上,你可以用它们做一些非常有趣的事情,比如激活它们本身。例如,此 block 递归地调用自身来计算阶乘:

factorialBlock := [:n | 
n <= 1
ifTrue: [n]
ifFalse: [n * (factorialBlock value: n - 1)]
]

并尝试一下:

factorialBlock value: 5

这不是一个很好的编码实践的例子,但它是 block 闭包的力量!

关于smalltalk - Smalltalk 中的 block 可以单独运行吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41626569/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com