以下みたいなコードをよく見るんですが。
メソッドと同じ名前のインスタンス変数を返しています。(いわゆるgetterでしょうか。)
ruby
1def conn 2 @conn ||= Faraday.new(url: "http://example.com") 3end
rubyでattr_accesorやattr_readerをあえて使わないでgetterを自作する場合ってどんなメリットがあるんですか?
メモ化したい場合はこう書くのかなって思ったけど、initializeでもメモ化してもいいですしね。
https://techracho.bpsinc.jp/hachi8833/2020_06_25/74938
みなさんはこういうコード書いたりしますか?
その場合の目的を教えて下さい。
補足
こういうのを遅延初期化というらしいです、回答者様ありがとうございました。
詳しくはこちらに書かれています。
https://thinkit.co.jp/story/2014/07/02/5091
回答1件
あなたの回答
tips
プレビュー