Rubyでデータを取り扱うために基礎
・オブジェクト
・クラス
・変数
・定数
##オブジェクト
Rubyで使う全ての値(データ) の基本単位がオブジェクト(物)
オブジェクトには多くの種類が存在し、メインなのもとして
-文字列オブジェクト(“hello world”、”おはよう”
などの文字)
-数値オブジェクト(1,2,3、3,14
などの数値)
-配列・ハッシュオブジェクト
( 複数のデータをまとめる pref = [“鹿児島”,”熊本”,”福岡”]、
person = {name: “fushi”, age: 33}
)
などがある。
※オブジェクトの事をインスタンスと呼ぶ場合もあるが同じ意味
##クラス
オブジェクト(物)の種類を表すもの。オブジェクトがどのような性質(メソッド)を使うかは属するクラスによって決まる。
-文字列オブジェクト
→Stringクラス
-数値オブジェクト
→Integerクラス
-配列オブジェクト
→Arrayクラス
-ハッシュオブジェクト
→Hashクラス
など
##変数
オブジェクト(物)につけるラベルのようなもので、ラベルをつける事でコードで使用する値を格納したり,変更したりする事
ができる便利なもの。
Rubyにはローカル変数,グローバル変数、インスタンス変数、クラス変数などある。
それぞれの違いは変数名と使える範囲(スコープ)
が異なる
ローカル変数
変数名 アルファベット小文字or『_ 』で始める
スコープ範囲→ 定義されたメソッドのみ、一番スコープ範囲が狭い変数
グローバル変数
変数名 『$』で始める
スコープ範囲→プロジェクト内の全てが範囲
インスタンス変数
変数名 『@』で始める
スコープ範囲→インスタンス内の全てが範囲
クラス変数
変数名 『@@』で始める
スコープ範囲→クラス内の全てが範囲
##定数
変数同様にオブジェクトにつけるラベルとなるが、変数の様に何度も代入を繰り返す事が出来ない。変更しない値につけるラベル
変数名 アルファベット大文字で始める
※Rubyにおける定数は変更(書き換えが可能)ができてしまう(警告がでるが…)
書き換えを制限するにはModule(モジュール)
内に定数を定義して、freezeメソッド(オブジェクトを凍結し変更不可にするメソッド)
で定数とModuleをfreezeメソッドで凍結する必要がある