(初心者向け)Rubyの基本文法(配列・ループ)

投稿者: | 2019-09-26
Table of Content

これからRubyの勉強を始めようと考えているあなたに、Rubyのプログラムの書き方を紹介します。

この記事では、Rubyでの配列の扱い方とループの使い方について解説します。

配列やループを使うと何が嬉しいのか

プログラムでは、

  • 同じようなデータを塊として処理したい
    • 例えば、全てのユーザーや商品のデータなど
  • データの塊に対して、同じ処理を適用したい
    • 例えば、全てのユーザーにポイントを付与したいなど

といった処理を行うことが多くあります。

そういった場合に、使うのが今回説明する配列とループです。

配列

配列は、複数の他のオブジェクトを管理するためのオブジェクトです。変数では、1つのオブジェクトを管理していましたが、配列では複数の変数をまとめて管理することができます。

配列の作成方法

配列の作成方法にはいくつかの方法があります。

最も簡単な方法は以下の方法で、[]で囲った中に、カンマ(,)で区切って記述します。

構文は以下のようになります。

[オブジェクト1,オブジェクト2,オブジェクト3, ・・・]

具体例は以下のようになります。

array = [3, 7, 9, 10, 15]

配列には異なった種類のオブジェクトを入れることもできます。

以下のような配列を作成することもできます。

array = [3, "Hello",7, 9, "Hoge"]

連番の配列を作成することもできます。

# [1, 2, 3, 4, 5] の配列を作成する
(1..5).to_a 

配列の要素の取得

配列の要素を取得する時は、要素の番号を指定します。
(先頭は0なので、注意しましょう。)

array = [3, 7, 9, 10, 15]

array[0] # 3が取得できる

配列の要素の追加

一度作成した配列に要素を追加することができます。

pushメソッドまたは、<<を使います。

array = [1, 2, 3, 4, 5]

arrat.push(6)

puts[array]
# [1, 2, 3, 4, 5, 6]

array << 7

puts[array]
# [1, 2, 3, 4, 5, 6, 7]

配列の要素の更新

配列の要素を指定して代入することで、配列の要素を更新することができます。

array = [1, 2, 3, 4, 5]
array[2] = 6

puts(array)
# [1, 2, 6, 4, 5]

配列の削除

配列の要素を削除する時は、deleteメソッドを使います。

array = [1, 2, 3, 4, 5]
array.delete(1)

pust(array)
# [2, 3, 4, 5]

ループ

Rubyでは同じ処理を指定した回数、または条件を満たすまで繰り返すことができます。

ループにはいくつか書き方がありますので、それぞれ紹介します。

for

for構文は前述の配列と組み合わせて使います。

構文は以下のようになります。

for 変数 in 配列 do
    実行する処理
end

例えば、配列を作成して配列の中身を全て画面に出力するプログラムは以下のようになります。

array = [1, 2, 3, 4, 5]
for val in array do
    puts(val)
end

while

条件式が真(True)の間処理を続けるのがwhile構文になります。

構文は、以下のようになります。

while 条件式 do
    実行する処理
end

例えば設定した変数の値が、10を超えるまで処理を続けるようなwhile文の例は、以下のようになります。

num = 0
while num <= 10 do
    num += 1
    puts(num)
end

until

while文とは逆に、条件式が偽(False)の間処理を続けるのがuntil構文になります。

構文はwhile文と同様です。

until 条件式 do
    実行する処理
end

ループの制御

ループを実行していて、

  • 途中でループを抜けたい
  • 特定のデータは処理を行わず、次のデータに行きたい

といった場合に使用するのが、breaknextになります。

それぞれの処理の内容は以下になります。

命令 内容
break ループを中断し、ループを途中で抜ける
next next以降の処理を行わず、次のループに進む

例えば、番号が5を超えたらループを抜けるというプログラムの例は、以下になります。

num = 0
while num <= 10 do
    # numが5を超えたらループを抜ける
    if num > 5 then
        break 
    end
    num += 1
    puts(num)
end

次に、番号が偶数の時だけ表示を行うというようなプログラムは、以下になります。

num = 0
while num <= 10 do
    num += 1
    # numが5を超えたらループを抜ける
    if num % 2 == 0 then
        next
    end
    puts(num)
end

まとめ

この記事では、Rubyでの配列の扱い方とループの使い方について解説しました。

ループはプログラムではよく使う処理なので、しっかりと理解しましょう。

以下の講座で体系的に学ぶのもオススメです。

はじめてのRuby on Rails入門-RubyとRailsを基礎から学びWebアプリケーションをネットに公開しよう


コメントを残す

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