前提・実現したいこと
Javaエンジニアですが、現在Ruby,Railsを勉強しています。
以下を参考にRailsでAPIを叩く方法を学んでいます。
railsふかぼり01:railsでWebAPIを叩く
その中で以下のようなコードが有りました。まさにAPIを叩くところなのですが。
ruby
1# 新しくHTTPセッションを開始し、結果をresponseへ格納 2 response = Net::HTTP.start(uri.host, uri.port) do |http| 3 # 接続時に待つ最大秒数を設定 4 http.open_timeout = 5 5 # 読み込み一回でブロックして良い最大秒数を設定 6 http.read_timeout = 10 7 # ここでWebAPIを叩いている 8 # Net::HTTPResponseのインスタンスが返ってくる 9 http.get(uri.request_uri) 10 end
上記のコードでresponseに複数行の処理が代入されているように見えるのですが、このような構文はなんというのでしょうか?どういった文法・ルールに基づいているのでしょうか。
複数行にまたがる処理(Net〜end)を変数に代入している状況が、少し腑に落ちておらず、詳しく理解したいです。
有識者の方よろしくお願いいたします。
試したこと
Net::HTTP.start自体は調べて、HTTPリクエストを投げるときの定型文程度に思っています。
https://docs.ruby-lang.org/ja/latest/method/Net=3a=3aHTTP/s/start.html
しかし、複数行の処理を変数に代入しているところがやはりどんな文法やルールをもとに行っているのかがわかりません。
補足情報(FW/ツールのバージョンなど)
ruby 2.5.7p206
Rails 6.1.3.1
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/03/28 00:40
2021/03/28 02:15
2021/03/28 05:59
2021/03/28 06:15