LoginSignup
0
0

More than 3 years have passed since last update.

Record of the study(Ruby3)

Posted at

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メソッドで凍結する必要がある

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0