コード日進月歩

しんくうの技術的な小話、メモ、つれづれ、など

Railsで簡潔になったメソッド呼び出しの仕組みを説明するための記事を書いた

Qiitaにはコラム的に書きましたが、その書いた経緯系雑記です。

最近ずっとPHPをやってきた人にRailsの使い方を教えることがあったんですが、Mailerの話になり

def welcome_email
  @user = params[:user]
  @url  = 'http://example.com/login'
  mail to: @user.email, subject: '私の素敵なサイトへようこそ' 
end

みたいなサンプルを見せることになったんですが

mail to: @user.email, subject: '私の素敵なサイトへようこそ' 

この表記の原理を説明するの一言じゃ説明できないなと思って記事をかきました。

qiita.com

自分自身も最初すげー戸惑った事があって

{ key: :value }

みたいな表現があって、これは : :で何かを表す表記なのだろうか…?と思ったことがあり、ググろうにもなかなかヒットせずに理解するまでに時間がかかったという経緯があります。

しかもRailsだと簡潔に書き表すために結構省略形の表現を使うので、初学者向けのRubyの本ではあんまり取り上げられない書き方とかもでてきて余計に混乱しやすいポイントかなとか思っています。

そんな自分みたいな人がササッと理解できたら幸せになれると思って記事をかきました。

時空を歪めてますが、今日書きたかったのはそんな感じです。