今回は元有名企業で開発をしていた方が御用達しているというエンドレスメソッドについて調べたのでその使い方をメモ程度にまとめました。
エンドレスメソッドとは
『end を書かずにメソッドを定義する』というそのままの意味のメソッドになります。
これにより def set_user = @user = User.find(params[:id]) という形でメソッドを定義する事ができるようになります。
基本的には1行でかけるメソッドの時に多様するようです。
わかりやすいイメージ
# 今までは def ~ end でメソッドを定義していた
def set_user
@user = User.find params[:id]
end
# これが def だけで定義できるようになる
def set_user = @user = User.find(params[:id])
実際のコード
class ExampleController < ApplicationController
def show
sum = square(1)
puts sum
render plain: "Check logs for the result"
end
private
def square(x) = x + x
end
結果
irb(main):005> puts response.body
The sum is 100
=> nil
※puts メソッドは標準出力に文字列を表示するだけであり、表示が成功した場合の戻り値は常に nil です。
結構色々な場面で使用できそうなので、個人開発の時にでも取り入れてみようと思います!
参考文献:
https://secret-garden.hatenablog.com/entry/2020/10/03/180130