初めに
疑問に思ったことや上手くいかなかったことのアウトプットをしています。
自分なりの理解でアウトプットしていきます。初学者なので誤りもあると思います。
その際はご指摘いただけると幸いです。
疑問に思ったメソッド
def page_title(title = '')
base_object = 'aaaa'
title.present? ? "#{title} | #{base_object}" : base_object
end
疑問に思ったこと
present?は存在するかどうかというメソッドだが、この二つ目の?は何か。
?を二つ並べることで別の意味を持つのか?
調べた結果
present?と?は別の意味を持つ。二つ?が並んでるので2つで意味を持つのかと思ったが、そういうわけではない。
二つ目の?は三項演算子。
三項演算子とは
if文の簡略化。簡単なif文ならこちらで省略した方がよい。
条件式? 真の場合 : 偽の場合
結論
title.present? ? "#{title} | #{base_object}" : base_object
の部分は、titleが存在する場合、"#{title} | aaaaで、存在しない場合はaaaaそのまま出力される。