概要
イディオム 『!!』(double not)
内容
イディオム 『!!』(double not)について。
Railsのコード等、オープンソースのコードを読んでいて見かけたイディオム。
!!を2つ重ねることによって、論理型の返却が必要な際にnilをfalseに変換しつつ
真偽判定を行うのに常用される記法
(軽く調べた範囲なので他にも用法があるのかもしれません)
サンプルコード
# encoding: utf-8 def hoge?(input) return nil if input.nil? input == "hoge" ? true : false end p hoge?("hoge") p hoge?("hige") p hoge?(nil) p !!hoge?("hoge") p !!hoge?("hige") p !!hoge?(nil)
出力
true false nil true false false