区別が曖昧になりやすい言葉を、自分なりの差別化しやすい言葉で記録してみます。
シングルクォートとダブルクォート
シングルクォート
改行文字は機能しない。
>> puts 'Hello! \n world!'
Hello! \n world!
=> nil
式展開も不可(そのまま文字列として出力される)。
>> puts 'Have a #{a}'
Have a #{a}
=> nil
ダブルクォート
文字列に改行を入れたいときはこちらを使用する。
スペースもそのまま反映する。
puts "Hello! \n world!"
Hello!
world!
=> nil
式展開ができる。
>> puts "Have a #{a}"
Have a Good Day!
=> nil
改行文字や式展開を機能させないようにしたい場合は手前にバックスラッシュを付ける。
>> puts "Have a \#{a}"
Have a #{a}
=> nil
Rubyの真偽値
falseもしくはnil →偽
上記以外はすべて真
範囲
最後の値を含むか含まないかで[.]の数が異なる。
最初の値 ..最後の値(含む)
最初の値...最後の値(含まない)
>> p a
["Apple", "Red", "3", "Blue", "Yellow", "Strawberry"]
=> ["Apple", "Red", "3", "Blue", "Yellow", "Strawberry"]
>> p a[0..2]
["Apple", "Red", "3"]
=> ["Apple", "Red", "3"]
>> p a[0...2]
["Apple", "Red"]
=> ["Apple", "Red"]
>>
範囲は( )で囲むこと。
..や...の優先順位は低いので、
メソッドチェーンを用いる際には、意図しない順序になる可能性があることに注意する。
※メソッドチェーン
メソッドの返り値に対して、更にメソッド呼び出しをつなげること。
クラス・インスタンス・メソッド
クラス
一種のデータ型。
内部にデータを保持し、更にデータを利用する独自のメソッドを持つことができる。
オブジェクトは必ず何らかのクラスに属している。
インスタンス(またはオブジェクト)
クラスを元に作られたデータの塊。
メソッド
オブジェクトが持つ動作や振る舞い。
処理をひとまとめにして再利用できるようにしたもの。