式 ||= と &&

tnさんに教えてもらったことのメモ。

 value ||= a   #valueがnilならaを代入

とても便利。tnさんありがとうございます。


あと

  current_client_user ||= (session[:client_user] && ClientUser.find_by_id(session[:client_user])) || :false

これの&&の意味がよくわからなかったので調べたところ


・まず左辺を評価して、結果が真であった場合には右辺も評価する。
論理積論理和はtrue、falseをかえすのではなく、オペランドのいずれかを返す。


ということらしい。
真偽値ではなくて値を返すんですね。
勉強になりました。