Webエンジニア向けプログラミング解説動画をYouTubeで配信中!
▶ チャンネル登録はこちら

【Ruby3.x】Data::with()メソッドの使い方

withメソッドの使い方について、初心者にもわかりやすく解説します。

作成日: 更新日:

基本的な使い方

withメソッドは、Dataクラスのインスタンスに対して、一部のフィールドの値だけを変更した新しいインスタンスを生成するメソッドです。Dataクラスは、複数の値をまとめて不変なデータ構造として扱うためのクラスで、一度作成されたDataオブジェクトは、その後の変更ができません。

プログラミングにおいては、既存のオブジェクトを基に、特定の一部だけが異なる新しいオブジェクトが必要になる場面があります。このような時にwithメソッドが非常に役立ちます。withメソッドは、引数としてキーと値をペアで受け取り、指定されたキーに対応するフィールドの値をその新しい値に置き換えます。

このとき、元のDataオブジェクトは一切変更されず、指定された変更が適用された全く新しいDataオブジェクトが返されます。これにより、Dataオブジェクトの持つ不変性という特性を維持しつつ、柔軟なデータ操作が可能になります。例えば、不変なデータの一部だけを更新した新たなデータを作成したい場合に利用されます。withメソッドを使用することで、安全かつ効率的に、既存のDataオブジェクトから派生した新しいオブジェクトを作成することができます。

構文(syntax)

1class User < Data.define(:id, :name)
2end
3
4user = User.new(id: 1, name: "Alice")
5updated_user = user.with(name: "Bob")

引数(parameters)

引数なし

引数はありません

戻り値(return)

Data

Dataクラスのインスタンスメソッドwithは、メソッド呼び出し元のDataオブジェクトを返します。

関連コンテンツ