|
|
1
27
达克杜斯特已经说过,这些方法是不同的。我再给你解释几个街区,因为我想我能猜出你为什么问这个问题;-) ruby中的块只是某个方法的参数。这不仅仅是一种不同的语法。 接受(可选)块的方法通常有一个条件来测试是否已使用块调用它们。 考虑这个非常简单的示例:(例如,real File.open与之类似,但它确保即使块引发错误,也会关闭文件)
一般来说,每种方法对于一个块或没有一个块都有不同的工作方式。应始终在方法文件中说明。 |
|
|
2
34
不,他们的意思不一样。在第一个示例中,文件在处理块后自动关闭。在第二个例子中,手动调用
|