0

私は C# と Java のバックグラウンドを持つプログラマーであるため、Ruby を学び始め、コード ブロックを理解しようとしています。ブロックの受け渡しとyieldの使用に関する概念を理解していると思います。ただし、私の背景に基づいて、ブロックはどのような状況で役立ちますか (コードブロック/クロージャを使用したことがないので、なぜそれらが役立つのかわかりません)。他に知りたいことは、既存のプロジェクトで作業を開始した場合、いくつかの API が既に開発されているなどの場合、特定の API メソッドにブロックを渡す必要があるかどうかをどのように知ることができますか?

前もって感謝します!

4

1 に答える 1

2

C#でラムダを頻繁に使用した場合、ブロックは両方とも渡される匿名コードのチャンクであるという意味でおなじみかもしれません。

ブロックは慣用的な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 に答える