Ruby初心者です。
ブロックというのがどうもわからず困っています。
基本で躓いてしまっているのですが、
どなたかわかりやすく、どういったものかを教えてください。
また、使用例も教えてくれたらありがたいです。
よろしくお願いします。
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
回答4件
0
ruby のブロックの解説記事を一つ紹介します。
- Rubyの面白さを理解するためのメソッド、ブロック、Proc、lambda、クロージャの基本 http://www.atmarkit.co.jp/ait/articles/1409/29/news035.html
ここ teratail でも block に関する質問は何回もでています。
https://teratail.com/questions/search?q=ruby+%E3%83%96%E3%83%AD%E3%83%83%E3%82%AF
それらにも目を通してみることをおすすめします。
投稿2014/11/20 15:48
総合スコア22324
0
ブロックというのは以下のようなプログラムのdo
-end
で囲まれたものを指します。
lang
1# Hello を2回表示する 22.times do 3 puts "Hello" 4end
lang
1# ファイルの中身を表示する 2File.open('path/to/file.txt', 'r') do |f| 3 puts f.read 4end
ですが、普通のプログラミングでは「ブロック」そのものについて考えることはほとんどありません。
times
は、do-endの中身がその回数だけ実行されるFile.open
ば、ファイルの読み込みはdo-endの中でやらないといけない
というように覚えれば十分です。
手元の教科書にはBlock
やらProc
やらlambda
やらyield
やらに触れているかもしれません。
しかしそれらの詳細は中級以上でないと知る必要がない上に、中級を超えるころには自然と理解しているはずです。
投稿2014/11/20 13:00
総合スコア1342
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
0
入門書を一通り読んでも、ブロックの部分が理解できないという前提でのアドバイスです。
Ruby以外にも全くプログラミング言語を知らないのか、別のプログラミング言語を知っているのか?
他に知っているなら、その言語を例に使って説明することも出来ます。
全くプログラミングを知らないにしても、Rubyをどこまでわかっているのか?
そのあたりがわからずに説明しても、きっとまたあなたにわからない(入門書並みの)説明しか出来ないと思います。
そうじゃなくて、入門書を読んでないなら、まずは入門書を通読しましょう。
投稿2014/11/20 11:00
総合スコア84538
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。