はじめに
今回は、Rubyの基礎についてまとめます。
※おことわり※
基本的に学習内容のアウトプットです。
初学者であるため、間違い等あればご指摘いただけますと嬉しいです。
この記事の目的
Ruby基礎内容のアウトプット
この記事の内容
- ハッシュの基礎
- 二重ハッシュ
- クラスとインスタンス
1. ハッシュの基礎
ハッシュとは、複数のオブジェクトをキーとバリューのセットで、まとめて管理することがきるオブジェクトです。
ハッシュは、キー
で要素を管理していることがポイントです。
キーとバリューのセットを、 キーバリューストア
と言います。
- ハッシュの書き方
#書き方① シンボル
hash = { キー: 値}
#書き方② ロケットハッシュ
hash = {:キー=> 値}
- キーの取得方法(keysメソッド)
#オブジェクト.keys
hash.keys
- バリューの取得方法(valuesメソッド)
#オブジェクト.values
hash.values
- 指定の値の取得方法
#オブジェクト[:キー]
hash[:key]
なぜシンボルを使って記述をするのか?
コード上は文字列のように見えるが、数値として処理されるため、処理速度が早くなる。
具体的なハッシュの書き方と値の取得
hash = {one: 1, two: 2, three: 3}
=> {:one=>1, :two=>2, :three=>3}
puts hash.keys
#返り値
one
two
three
puts hash.values
#返り値
1
2
3
puts hash[:one]
#返り値
1
2. 二重ハッシュ
- 二重ハッシュの書き方
user_date = {user: {profile: {name: '一郎'}}}
- 値の取得方法
取得したい値までのキーを連続で指定する。
puts user_date[:user][:profile]
#返り値
{:name=>"一郎"}
配列の中に二重ハッシュが格納されている場合
変数 user_data
は、複数のユーザーの情報をハッシュとして持つ。
user_data = [
{user: {profile: {name: '一郎'}}},
{user: {profile: {name: '二郎'}}},
{user: {profile: {name: '三郎'}}},
]
- 値の取得方法
配列に格納されている値をeachメソッド
で1つずつ取り出す。
取り出された値はハッシュなので、取得したい値(name)までのキーを連続で指定する。
#全ユーザーの名前を取得する
user_data.each do |name|
puts name[:user][:profile][:name]
end
#返り値
一郎
二郎
三郎
#特定のユーザー情報を取得する
puts user_data[0]
#返り値
{:user=>{:profile=>{:name=>"一郎"}}}
3. クラスとインスタンス
クラスとは、「もの」を作るための設計図やルールのようなものです。
インスタンスとは、その設計図(クラス)を元に作られるデータのことです。
例えば、「車」を作るための設計図がクラスであり、設計図から作成された「パトカー」や「消防車」等がインスタンスです。
- クラスの定義
- インスタンスの生成
- インスタンスメソッドの実行
class Car
def initialize(type, color)
@type = type
@color = color
end
def type
@type
end
def color
puts "この車は#{@color}です。"
end
end
#クラスを生成
car = Car.new("消防車", "赤色")
#書き方①
puts "この車は、#{car.type}です。"
#返り値
この車は、消防車です。
#書き方②
puts car.color
#返り値
この車は赤色です。