【Ruby】配列Arrayについて

ABOUTこの記事をかいた人

気になること&知らないことをひたすらググることを得意としています。このブログでは最近気になったことを中心に記事を書いていきます。記事には間違った情報を書かないように細心の注意を払っていますが、もし誤りがあった場合はコメントやお問い合わせフォームからご指摘いただければ幸いです。

配列について基本的なことは以前書きましたのでこの記事で「??」と感じた方は下記のページを一度見てみてください。

【Ruby】配列

2017.04.09

今回は配列についてもっと詳しく書いてみました。

配列をつくる

まずは基本となる空の配列(オブジェクト)を作ってみましょう。

[]
[]

これで要素数が0(ない)Arrayクラスのオブジェクト(インスタンス)を作成することができるようになりました。

Array.newについて

Arrayクラスのクラスメソッドであるnewメソッドを使うとArrayクラスのインスタンスが返ってきます。それを変数に代入することでそのオブジェクト(インスタンス)を使うことができるようになります。次にnewメソッドに引数やブロックを渡した場合についてみてみましょう。

[nil, nil, nil]
["a", "a", "a"]
[1, 2, 3]

Array.newメソッドを実行する際に引数を渡すとその数だけの配列オブジェクトを作成してくれます。1行目のように第二引数に何も渡さない場合は、nilがその数だけ要素として追加され、3行目のように第二引数にオブジェクトを渡すとそのオブジェクトが要素として追加されることになります。

また、5行目のようにブロックを渡すと第一引数で指定した数だけブロックを実行しその実行した結果の値が要素として追加されていくことになります。

%w、%iでの記述にて配列をつくる

下記のように%w、%iで記述を行うと空間で文字列を区切って配列を作ってくれます。

["Break", "through", "the", "confusion"]
[:Break, :through, :the, :confusion]

この記述方法を知っておくと「”」や「,」を書く手間も省けて便利です。%wは文字列の配列を、%iではシンボルの配列を作ってくれます。

String(文字列)オブジェクトのsplitメソッドで配列を作成

splitメソッドを使うと文字列オブジェクトから配列を作ることができます。

["only", "one", "life", "to", "live,", "so", "choose", "wisely"]
["only one life to live", " so choose wisely"]

引数に何も指定しない場合は文字列の空白で区切られ、配列が作られますが、引数にて区切り文字を追加するとその文字で区切って配列を作ってくれます。

要素の取り出し

配列[インデックス]の形

配列[インデックス]の形で記述するとその番号の要素を取り出してくれます。

"a"
"e"
"c"
nil
nil

配列は0から始まるのでary[0]は「”a”」となります。またインデックス番号を-1とすると後ろから1番目の値を取り出してくれます。また、5、6行目のように配列の要素数よりも多いインデックスの値を指定してしまうと「nil」が返ってきます。

コメントを残す

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

ABOUTこの記事をかいた人

気になること&知らないことをひたすらググることを得意としています。このブログでは最近気になったことを中心に記事を書いていきます。記事には間違った情報を書かないように細心の注意を払っていますが、もし誤りがあった場合はコメントやお問い合わせフォームからご指摘いただければ幸いです。