0

我开始学习 Ruby 并尝试理解代码块,因为我是一名具有 C# 和 Java 背景的程序员。我想我理解传递块和使用产量的概念。但是,根据我的背景,块在什么情况下有用(我以前从未使用过代码块/clojures,所以我不明白为什么它们如此有用)?我想知道的另一件事是:如果我开始处理现有项目,并且已经开发了一些 API 等,我怎么知道是否应该将块传递给某个 API 方法?

提前致谢!

4

1 回答 1

2

如果您在 C# 中经常使用 lambda,那么块可能很熟悉,因为它们都是可以传递的匿名代码块。

在惯用的 Ruby 中一直使用块。它们用于代替“for”循环,

1.upto(10) do |i|
    puts i
end

或遍历集合,

["New York", "Chicago", "Los Angeles"].each do |city|
    puts "I wish I wasn't in #{city}!"
end

或以类似于 C# 'using' 语句的方式处理文件。

File.open("test-file", "w") do |f|
    f.puts "Hello, world!"
end

通常 API 文档会明确说明何时需要一个块并提供示例。我觉得不用太担心。

于 2012-07-29T03:35:40.480 回答