紙一重の積み重ね

35歳のエンジニアがなれる最高の自分を目指して、学んだことをこつこつ情報発信するブログです。

末尾にイコールがついているメソッドは代入構文として使える #Ruby

f:id:yokoyantech:20181214180034p:plain

はじめに

たまにメソッドにイコールがついているものを見かけるのでメモ。

実装例

def user_params=(user)
  id = user.id
  self.created_user ||= id
  self.updated_user = id
end

メリット

代入構文のように使用できる

Rubyでは、()を省略できる。また、イコールの前後に空白があっても無視されるため、user_params = userと書くと、user_params=メソッドが呼び出される。

参考情報

ja.stackoverflow.com

teratail.com

まとめ

初見だとわかりませんでした。Rubyはこういう書き方もできるのが面白いですね。