【入門】Ruby 最初の難関!変数と配列をマスター

サキ さん
ついに変数と配列ですか…。イメージはできるんですが、詳しいことがよく分からないんですよね。
マナブ さん
確かに少し難しいかもしれないね。でもカンタンに覚えるために図も入れながら詳しく説明していくよ。また、発展的なことは別にまとめてて、今回は基礎的なことを理解することも目指そう!

いきなり変数と聞いても分からないかもしれません。まずはその前提となる、プログラミングの基礎からおさらいしましょう。

まず、プログラミングの多くは様々なデータを計算式のように扱って、一つの処理を作ることがほとんとです。このときにデータをカンタンに扱えるようにするときに使うのが「変数」というものです。

そして「変数」とは一言でいえば「データを入れるための名前付きの箱」、その箱にデータを入れることを「代入する」といったりします。

ではデータを箱に入れて、どのように管理するのでしょうか?カンタンな例をみてみましょう。お使いのPCで、Macならターミナル、WindowsならスタートメニューからInteractive Rubyを開いて、以下のコマンドを入力してirbを開きましょう。

注意点!
“$”マークは入力しないよう気を付けましょう!Macのターミナルや、後ほど出てくるWindowsのコマンドプロンプトでのコマンドの打ち方や記述方法はコチラの記事を参照ください

 変数をつくってデータをいれる

変数をつくるといっても難しいことはありません。以下のコマンドを入力していきましょう。#マークの右の文章は各ステップのコメントですので、入力する必要はありません。

いましたことを順を追って説明しましょう。

  • “name” という変数(箱)を作る
  • ‘tanaka’ という名前(文字列)を準備する
  • “=” を使って “name” に “tanaka” を代入する
  • “tanaka” が入った変数 “name” が完成

試しに、irb で nameと入力して Enterを押してみましょう。”tanaka”という文字列が出力されたのではないでしょうか?これは nameという変数に入れた名前が出力されたためです。

では、続いてこの変数の中身を更新して、さらに他の変数も用意してみましょう。

今回、name変数の中身をtanakaからsuzukiに変更し、さらに新しい変数ageを用意して、18という数値を入れておきました。

ただし、最後の name + age をすると、”suzuki18″という文字列が出力されると思いきやエラーがでてしまいました。これはRubyに限らず、プログラミング言語では常識の型が違うデータを足し合わせようとすると出てくる問題です。文字列や数値の違いが分からない方は以下の記事を参照してみてください。

では、どうすればいいのでしょうか?

変数を操作してみる

先ほどnameを更新したことを思い出してください。変数の中身を操作するだけでなく、変数の箱そのものを操作することもできます。

今回は name と age を足し合わせるために ageの型を「数値」から「文字列」に変更しましょう。型について分からない方は以下の記事を参照してください。

また新しい文法がでてきました。 変数 age の後にでてきた .to_s はメソッドというもの です。

メソッドとは
Rubyをはじめとするプログラミング言語では、複数の処理をまとめて扱えるメソッドが存在します。このメソッドにはユーザが定義できるものと、あらかじめ言語に組み込まれたものの二種類があります。

✔︎ 詳しくは以下の記事を参照してください。

【入門】Ruby初めの一歩 -基本文法-

2018年12月2日

この .to_s メソッドは変数 age にかかっています。そしてメソッドでは変数などのオブジェクトの型をStringにしてくれるのです。ちなみにこの型変換には文字列を数値型に直すものもあります。

変数のまとめ

ここまで、変数の作り方と変数へのデータの代入、また変数を操作する方法を学びました。

マナブ さん
他にも細かいことはあるんだけど、実際に現場で変数を扱う方法はおよそこの3つだけなんだ!まずは基礎知識を学ぶことができたね。

配列(Array)とは

変数を学んだら、続いては配列について見ていきましょう。

まずはじめに配列とはどのようなものでしょうか?身近な例を用いて説明しましょう。

1号車、2号車、3号車がある電車を思い浮かべてください。その各号車にタナカさん、スズキさん、サトウさんがいます。この1号車は変数、タナカさんは変数に代入されたデータ、そしてこの列車全体が配列です。

複数の変数やデータを効率的に管理して扱えるようにするものが配列といいます。では早速 irb を開いて具体的な使い方を見ていきましょう。

配列を作ってみる

さっそく、Rubyで配列(以下、Arrayと表現します)を作ってみましょう。
arrayという変数を作って、それをArrayの型で初期化します。
初期化とは、デフォルトの状態をつくることで、真っ白のページを新規作成するイメージだと考えてください。

次に初期化された空の配列の中に、3人の名前(文字列型)を入れてみます。無人の電車に人を入れていくイメージです。

変数に文字列オブジェクト(データ)を入れたことを思い出して、それを3つ連結して array という変数の中にいれています。この連結されたデータが配列です。

ちなみに、配列の中身は文字列以外にも入れることができます。

この例では数値型、文字列、nil(何も入っていないこと)の3つを配列に含めました。
ちなみに初期化の方法2つ目のかたちで配列の中身を入れるには以下のような方法もあります。

この場合、数字の3はindexといい、電車の例でいえば列車の数を、そのあとの文字列がその中身を表しています。この辺りは以下の記事でも詳しく説明しています。

配列からデータを取り出す

では配列を作ることができたら、次は配列からデータを取り出してみましょう。
はじめに説明した配列の例えを思い出してください。

電車の例では1号車、2号車、3号車と説明しました。しかしRubyを始めとする多くのプログラミング言語では配列は先頭から、0、1、2と数えます。
つまり、配列からデータを取り出すときは、0番目のtanaka、1番目のsuzuki、2番目のsatoと指定して取り出す必要があります。

配列のまとめ

ここまで、変数の作り方と変数へのデータの代入、また変数を操作する方法を学びました。

サキ さん
少し難しいですね…変数とか配列とかって書くことはできても実際に使えるか不安です。
マナブ さん
ちょっと抽象的だけど細かく覚えるというよりも、記事のなかで説明した例をイメージとして掴んでおくことが重要だよ。
マナブ さん
変数は箱、配列は電車、または連結した箱だと覚えておこう!

Rubyを学んで「自社開発企業」へ行くなら、ポテパンキャンプさんをオススメします。実際にエンジニアの私からみても「こんなところまで?!」と驚くカリキュラムでした。在校生・卒業生の口コミはこちらをご覧ください!

【就職できる?】ポテパンキャンプ受講生の口コミ・評判

2019年1月26日

【ホントは教えたくない…】ポテパンキャンプオープンクラスの口コミ・評判

2019年1月23日