tyoshikawa1106のブログ

- Force.com Developer Blog -

Rails:Railsコンソールで覚えるオブジェクトとメッセージ受け渡し

Railsチュートリアルの第四章を勉強中です。

railstutorial.jp


Rubyでは、あらゆるものがオブジェクトです。文字列やnilもオブジェクトです。文字列のようなオブジェクトは、たとえば lengthというメッセージに応答できますが、これは文字列の文字数を返します。

f:id:tyoshikawa1106:20150716225239p:plain


他にも空判定のempty?などがあります。

f:id:tyoshikawa1106:20150716225447p:plain


ifによる判定はこんな感じです。

f:id:tyoshikawa1106:20150716225954p:plain


論理値は、『&& (“and”)』、『|| (“or”)』、そして『! ("not")』 演算子によって結合することもできます。
f:id:tyoshikawa1106:20150716231138p:plain


nilもオブジェクトなので、ほぼすべてのオブジェクトを文字列に変換するto_sメソッドを使用して文字列に変換できます。
f:id:tyoshikawa1106:20150716231449p:plain


nil.empty?はエラーとなりますが、to_sメソッドで文字列変換すれば判定できるようになります。
f:id:tyoshikawa1106:20150716232037p:plain


nilの判定は.nil?で行うことができます。
f:id:tyoshikawa1106:20150716232301p:plain


nilはオブジェクトの中で唯一論理値が「false」となります。
f:id:tyoshikawa1106:20150716233436p:plain


0 (を含むあらゆるオブジェクト、nilとfalseは除く) はtrueになります。
f:id:tyoshikawa1106:20150716233639p:plain


文字列はオブジェクトとは別みたいです。Warningメッセージが表示され、trueが返ってきました。