👏

[Ruby]Array(配列)について①作成と表示メソッドについて

2023/05/29に公開

配列とは

配列(Array)は、プログラミングにおけるデータ構造の一つ。
Rubyでは、複数の値を順序付けて格納するために使用される。
配列は1つ以上の要素を持ちそれぞれの要素はインデックスを使用しアクセスすることができる。

ex.)

number = [1, 2, 3, 4, 5]
strings = ["a", "b", "c", "d"]

配列の要素は、0から始まるため、0から始まるインデックスを使用してアクセスできる。
ex.)
numbers配列の最初の要素にアクセスする => numbers[0]
fruits配列の2番目の要素にアクセスする => fruits[1]


配列を表示するメソッド

出力メソッドは主に3つある。
以下に記載するprintメソッド、putsメソッド、pメソッドだ。
それぞれ異なる出力メソッドなので、特徴と例とともに書いていきます。

putsメソッド

putsメソッドは、引数として与えられたオブジェクトを出力。
出力後に改行が行われる。
文字列の場合、引用符などの特殊な文字列表現は評価されて表示される。

文字列の表示においてよく使用される。

puts "Hello"       #=> Hello
puts "World"       #=> World

pメソッド

pメソッドは、引数として与えられたオブジェクトを「デバッグ用の表現」として出力。
出力後に改行が行われる。
文字列の場合、引用符などの特殊な文字列表現もそのまま表示されます。

主にデバッグの際に使用され、オブジェクトの内容を確認するのに役立つ。

p "Hello"      #=> "Hello"
p "World"   #=> "World"

printメソッド

引数として与えられたオブジェクトをそのまま出力する。
出力後に改行は行われない。
文字列の場合、引用符などの特殊な文字列表現はそのまま表示されます。

print "Hello"
print "World"
  #=> HelloWorld

それぞれの違いをtableにしてみました。

メソッド 概要 改行の有無 引用符や特殊文字の表示 主な使用場面
print 引数のオブジェクトをそのまま出力する 改行なし 特殊文字をそのまま表示 ファイルへの出力や、改行を制御したい場合
puts 引数のオブジェクトを出力し、改行を行う 改行あり 特殊文字を評価して表示 コンソール上での表示や、可読性のある出力が必要な場合
p 引数のオブジェクトをデバッグ用の表現として出力する 改行あり 特殊文字をそのまま表示 デバッグやオブジェクトの内容確認が必要な場合

配列を作成する

■ 要素数が0個の空の配列

arr = []  #=>[]

■ 新しく配列を作成

arr = Array.new  #=>[]

■ 要素数を指定

arr = Array.new(4) #=>[nil, nil, nil, nil]

■ 要素数を指定して値を格納

arr = Array.new(3, "white") #=>["white", "white", "white"]

■ 要素のインデックスを引数としブロックを実行

arr = Array.new(3){ | index | "apple#{index}" }
  #=>["apple0", "apple1", "apple2"]

配列の要素数を取得

要素数を取得するメソッドとして2つ。
配列や文字列などの要素数を返すことには同じだが、違い点としては、
ハッシュで使用できるか、できないかだ。

.lengthメソッド

ハッシュでは使用できない。

array = [1, 2, 3, 4, 5]
puts array.length     #=> 5

string = "Hello, world!"
puts string.length    #=> 13

range = 1..10
puts range.length    #=> 10

.sizeメソッド

ハッシュで使用でき、ハッシュではキー-値ペア数を返す。

hash = { "a" => 1, "b" => 2, "c" => 3 }
puts hash.size     #=> 3

another_array = []
puts another_array.size     #=> 0

lengthメソッドとsizeメソッドの比較をtableでまとめました。

メソッド 概要 違い 使用場面
length 配列や文字列などの要素数を返す ハッシュでは使用できない 要素数の取得、文字列の長さの取得、範囲の要素数の取得
size 配列や文字列などの要素数を返す ハッシュではキー-値ペア数を返す 要素数の取得、文字列の長さの取得、範囲の要素数の取得、ハッシュのキー-値ペア数の取得

Discussion