【Rubyの基本】Array・Hash

※本サイトで紹介している商品・サービス等の外部リンクには、アフィリエイト広告が含まれる場合があります。

Arrayのメソッド

join

文字列を合体させる

names = ["I", "am", "a", "teacher"]

puts names.join(" ") 
# I am a teacher

sum

要素の合計値を計算する

scores = [90, 78, 89]

puts scores.sum
# 257

sample

要素をランダムに取得する

scores = [90, 78, 89]

puts scores.sample
# 78

sort 

配列の順番を入れ替える(降順)

puts [3, 5, 6, 7, 54, 34, 2564, 8, 66].sort
# 3
# 5
# 6
# 7
# 8
# 34
# 54
# 66
# 2564

flatten

配列をなくし、フラットにする

puts [[34, 25], [65, 92]].flatten
# 34
# 25
# 65
# 92

puts [34, 25, 65, 92].flatten
# 34
# 25
# 65
# 92

select

配列から要素をひとつずつ取り出して、指定された条件を満たすものを探す

 例)3の倍数を探す

array = [3, 4, 64, 89, 99, 120, 55, 9756]

# element(要素) の "e"
puts array.select { |e| e % 3 == 0} 
# 3
# 99
# 120
# 9756

Hash

ふたつとも結果は同じ 80 が出力される

scores = {math: 80, english: 78, history: 45}

puts scores[:math]
# 80

puts scores.fetch(:math)
# 80

keys, values

配列の key のみ返ってくる

scores = {math: 80, english: 78, history: 45}

puts scores.keys
# math
# english
# history

配列の value のみ返ってくる

scores = {math: 80, english: 78, history: 45}

puts scores.values
# 80
# 78
# 45

to_a

Hashを配列に変換する

scores = {math: 80, english: 78, history: 45}

puts scores.to_a
# math
# 80
# english
# 78
# history
# 45

delete

keyを指定してHashを削除する

scores = {math: 80, english: 78, history: 45}
scores.delete(:math)

puts scores
# {:english=>78, :history=>45}

merge

配列に合体させる

scores = {math: 80, english: 78, history: 45}

puts scores.merge({japanese: 67})
# {:math=>80, :english=>78, :history=>45, :japanese=>67}

Keyが存在しない場合

scores = {math: 80, english: 78, history: 45}

puts scores[:japanese] 
# nil

↑ 「nil


fetch

scores = {math: 80, english: 78, history: 45}

puts scores.fetch(:japanese)
# `fetch': key not found: :japanese

↑ fetch の場合は「nil」ではなく、エラーが返ってくる

#DAY28

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA



reCaptcha の認証期間が終了しました。ページを再読み込みしてください。