[Ruby]Array(配列)について①作成と表示メソッドについて
配列とは
配列(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にしてみました。
メソッド | 概要 | 改行の有無 | 引用符や特殊文字の表示 | 主な使用場面 |
---|---|---|---|---|
引数のオブジェクトをそのまま出力する | 改行なし | 特殊文字をそのまま表示 | ファイルへの出力や、改行を制御したい場合 | |
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