[解決済み] Rubyにおけるtapメソッドの利点
2022-07-14 04:31:21
質問
あるブログの記事を読んでいて、著者が
tap
のようなスニペットを使っていることに気づきました。
user = User.new.tap do |u|
u.username = "foobar"
u.save!
end
私の疑問は、このように
tap
? ではだめなのでしょうか。
user = User.new
user.username = "foobar"
user.save!
とかでもいいし
user = User.create! username: "foobar"
どのように解決するのですか?
読者が遭遇したとき。
user = User.new
user.username = "foobar"
user.save!
というインスタンスを生成しているに過ぎないことを認識する必要があります。
user
.
もしそうなら
user = User.new.tap do |u|
u.username = "foobar"
u.save!
end
であれば、それはすぐに明らかになります。読者はブロックの中身を読まなくても、インスタンス
user
が作成されることを知ることができます。
関連
-
[解決済み】Ruby: 特定のバージョンのruby gemをインストールする方法は?
-
[解決済み] Rubyのswitch文の書き方
-
[解決済み] Rubyで配列に値が存在するかどうかを確認する方法
-
[解決済み] Rubyからシェルコマンドを呼び出す方法
-
[解決済み] Rubyでnilとemptyとblankを理解する方法
-
[解決済み] Rubyで文字列を小文字・大文字に変換する方法
-
[解決済み] Rubyのattr_accessorとは何ですか?
-
[解決済み] Ruby on Railsで現在の絶対URLを取得するにはどうすればよいですか?
-
[解決済み] Rubyのclass << selfイディオム
-
[解決済み] Rubyで「例外 => e」を救済するのはなぜ悪いスタイルなのですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] なぜsumはinject(:+)よりもずっと速いのですか?
-
[解決済み] ...』の違い (ダブルドット) と '...' の違い?(トリプルドット)の違いについて教えてください。
-
[解決済み] レスキューVSシドキック?[クローズド]
-
[解決済み] Rubyの理想的なプロジェクト構造
-
[解決済み] Rubyの継承とミキシンの比較
-
[解決済み] 現在の日時をDD/MM/YYYY HH:MM形式で取得するにはどうすればよいですか?
-
[解決済み] Hash each ループでインデックスにアクセスすることは可能ですか?
-
[解決済み] ルビー 負の数を正の数に変換する?
-
[解決済み] rubyのinjectはreduceと同じ意味ですか?
-
[解決済み] Ruby: selfを拡張する