Help us understand the problem. What is going on with this article?

Railsで!!(エクスクラメーションマーク・びっくりマーク2つ)の書式について

More than 5 years have passed since last update.

「パーフェクトRuby on Rails」の書籍を見て気になったコードです。

def logged_in?
  !!session[:user_id]
end

「!!session」の部分です。

わかりやすい記述がありましたので以下を参照します。

★Murayama blog - double exclamation
 http://murayama.hatenablog.com/entry/20090713/1247455007

コードを要約すると、変数の値がnilだった場合、
「そのままnilを返却するのではなく、falseに置き換えてから返却したい」ときに!!を利用するようです。

メソッドの「logged_in?」で真偽値という述語記述をしていますので、「!!」でfalseで返したほうがより良いということのようです。

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away