Railsチュートリアルの第四章を勉強中です。
Rubyでは、あらゆるものがオブジェクトです。文字列やnilもオブジェクトです。文字列のようなオブジェクトは、たとえば lengthというメッセージに応答できますが、これは文字列の文字数を返します。
他にも空判定のempty?などがあります。
ifによる判定はこんな感じです。
論理値は、『&& (“and”)』、『|| (“or”)』、そして『! ("not")』 演算子によって結合することもできます。
nilもオブジェクトなので、ほぼすべてのオブジェクトを文字列に変換するto_sメソッドを使用して文字列に変換できます。
nil.empty?はエラーとなりますが、to_sメソッドで文字列変換すれば判定できるようになります。
nilの判定は.nil?で行うことができます。
nilはオブジェクトの中で唯一論理値が「false」となります。
0 (を含むあらゆるオブジェクト、nilとfalseは除く) はtrueになります。
文字列はオブジェクトとは別みたいです。Warningメッセージが表示され、trueが返ってきました。