プログラミングの「変数」とは?初心者向けにわかりやすく解説【Ruby例付き】

プログラミングの「変数」とは?初心者向けにわかりやすく解説【Ruby例付き】
  • このエントリーをはてなブックマークに追加

スポンサーリンク

プログラミングの学習を進めていくと、必ず「変数」というものが出てきますよね。いきなり変数と聞くと、

  • 「これって丸暗記しないといけないの?」
  • 「そもそもどういうときに使うの?」
  • 「名前は自由に付けていいの?」

といった疑問があるのではないでしょうか?

実際のコードで書くと、

name = "田中"

のようなものが変数です。

結論から言うと、変数とは「値を入れておく箱のようなもの」です。

難しく考える必要はありません。この記事では、プログラミング初心者の方に向けて、変数とは何かをイメージしやすい例えを使ってわかりやすく解説します。具体的には以下の3点です。

  • 変数とはどんなもので
  • 何を覚えればいいのか
  • 変数の名前はなんでもいいのか

記事の中では例として、Rubyというプログラミング言語を使用しています。基本的な考え方はどの言語でも共通なので、他の言語を学んでいる方も安心して読み進めてください。

この記事で分かること

  • 変数とは何か
  • =(代入)の意味
  • 再代入とは何か
  • 変数の名前の付け方

プログラミングの「変数」とは

まず最初に、変数とは何かについて解説します。

くり返しになりますが、変数とは「何かしらの値を入れておく箱のようなもの」と覚えてください。プログラムの中で扱う数字や文字などのデータを、この箱にしまっておくイメージです。

これだけだとよく分からないと思いますので、次で具体的な例を示していきます。

変数とは箱のようなもの

変数とは「何かしらの値を入れておく箱のようなもの」と書きましたが、私達の身の回りのもので例えてみましょう。ここではダンボール箱を例にします。

ここに空っぽのダンボールがあるとします。そのダンボールの中に、りんごやみかんやメロンなどを入れたとします。

入れ終わったら、ダンボールの蓋をして閉じます。ダンボールには穴など空いておらず、閉じてしまったら中身が何かは分からない状態です。

それでは、ダンボールの中身を一言で表すと何になるでしょうか?


ほとんどの方が「果物」と思われたのではないでしょうか?

そうです、果物ですよね。

変数のイメージ図。箱が変数、ラベルが変数名、中身の果物が値を表す
箱=変数、ラベル=変数名、中身(果物)=値

このダンボールに名前をつけるとしたら「果物の入ったダンボール」になります。ダンボールに「果物」と書いておけば、誰が見ても果物が入ったダンボールなんだなと分かりますよね。

この「箱(ダンボール)=変数」「箱に書いた名前=変数名」「中身(果物)=値」という関係が、変数の基本イメージです。

変数を使ってみる

ここまでを整理してみましょう。

ダンボールにりんご、みかん、メロンを入れる
ダンボールに「果物」と書く

これを変数を使って表現すると、以下のようになります。

fruits = ["りんご", "みかん", "メロン"]

fruits という変数の中に、りんご・みかん・メロンを入れています。変数には名前をつけることができるので、ここでは仮に fruits という名前にしています。「仮に」と書いたように、変数の名前は自分で自由に決めることができます

「=(イコール)」は等しいではなく「代入」

ここで一つ、初心者がつまずきやすいポイントを補足します。プログラミングの = は、算数のような「左と右が等しい」という意味ではありません。右の値を、左の変数(箱)に入れるという意味です。これを「代入」と呼びます。

score = 90  # 変数scoreに90を代入する(箱に90を入れる)

score という箱に 90 を入れる」と読むと分かりやすいですね。

代入のイメージ図。値の90がscoreという箱の中に入っていく
「=」は等しいではなく、右の値を左の箱に入れる「代入」

中身はあとから入れ替えられる(再代入)

変数は箱なので、中身をあとから入れ替えることもできます。これを「再代入」と言います。

score = 90
score = 100  # 中身を90から100に入れ替える

puts score   # => 100

あとから書いた値で上書きされるので、最終的に score の中身は 100 になります。「箱の中身は固定ではなく、入れ替えられる」と覚えておきましょう。

再代入のイメージ図。scoreという箱の中身が90から100に入れ替わる様子
再代入:箱の中身は90から100へ上書きできる

どうして変数が必要なのか

変数はプログラミングにおいて必要不可欠なものと言われています。では、いったいなぜ変数が必要なのでしょうか?

それはプログラムが分かりやすくなるからです。さきほどの例だと fruits という名前をつけるだけで、他のエンジニアがプログラムを読んだときに「中身は何かしらの果物なんだな」と推測することができます。

「じゃあ変数を使わず、直接数字を書けばよくない?」と思うかもしれません。たとえば、それぞれの金額に消費税(10%)をかける計算を考えてみましょう。変数を使わないと、こうなります。

100 * 1.1
300 * 1.1
500 * 1.1

これを、税率を変数に入れて書き直すと次のようになります。

tax_rate = 1.1   # 消費税率を変数に入れておく

100 * tax_rate
300 * tax_rate
500 * tax_rate

ここで、もし税率が10%から変わったらどうなるでしょうか?最初の書き方だと、コードの中の 1.1すべて探して修正しなければなりません。数が増えるほど大変ですし、直し忘れも起きます。

一方、変数を使っていれば tax_rate1か所を変えるだけで済みます。このように、変数を使うとプログラムが分かりやすくなり、修正にも強くなります。だからこそ変数は必要なのです。

変数を使うことによるメリット

  • プログラムが分かりやすくなる
  • 同じ値を使い回せて、修正も1か所で済む(再利用性が高まる)

変数にはどんなものが入るのか

変数の中には、さまざまな種類の値を入れることができます。この「値の種類」のことを型(かた)と呼びます。ここでは代表的なものを簡単に紹介します。

変数にはいろいろな型の値が入ることを表す図。文字列・数字・配列・ハッシュの箱
変数には文字列・数字・配列など、いろいろな型の値を入れられる

文字列・数字

name = "田中"  # 文字列(クォーテーションで囲む)
number = 1     # 数字

文字列はダブルクォーテーション(" ")で囲むのがポイントです。数字はそのまま書きます。

配列・ハッシュ

fruits = ["りんご", "みかん", "メロン"]   # 配列(複数の値をまとめて入れる)
user = { name: "りんご", count: 1 }      # ハッシュ(名前付きで値を入れる)

このように、変数には1つの値だけでなく、複数の値をまとめて入れることもできます。最初は「文字列」と「数字」が入る、とだけ覚えておけば十分です。

変数の名前の付け方

変数の名前は自分で自由に決めることができると言いましたが、何でもいいというわけではありません。変数の名前は、中身が推測できる分かりやすいものにしましょう。いくつか例を見てみましょう。

# 良い例(中身が推測できる)
fruits = ["りんご", "みかん", "メロン"]
score = 90
name = "サンプル"
user = { first_name: "田中", last_name: "太郎", age: 20 }

# 悪い例(中身が推測できない)
tmp = ["りんご", "みかん", "メロン"]  # tmpだけ見ても中身が分からない
s = 90                              # sだと省略しすぎて元が何か分からない
work = "サンプル"                     # 何のサンプルか分からない
man = { first_name: "田中", last_name: "太郎", age: 20 }  # userの方が適切
変数名の良い例と悪い例の比較図。中身が分かるfruitsと、中身が分からないtmp
中身が推測できる名前(fruits)はわかりやすく、曖昧な名前(tmp)は中身が分からない

変数の名前が分かりやすいと、プログラム全体が読みやすくなり、保守もしやすくなります。最初のうちは「ローマ字でいいので、中身が分かる名前にする」と意識するだけで十分です。

「英語が苦手だから無理かも…」と感じるかもしれませんが、完璧な英語を使う必要はありません。fruitfruits の違いが分からなくても大丈夫です。それよりも「中身が分かる名前を付ける」ことのほうがずっと大切です。

まとめ

今回はプログラミングの「変数」について、初心者向けにわかりやすく解説しました。ポイントを振り返っておきましょう。

  • 変数とは、何かしらの値を入れておく箱のようなもの
  • = は「等しい」ではなく、値を箱に入れる「代入」
  • 箱の中身はあとから入れ替えられる(再代入)
  • 変数には型に応じて、文字列・数字・配列などいろいろなものを入れられる
  • 変数の名前は中身が推測できる分かりやすいものにする

変数は、これからプログラミングを学んでいくうえで何度も登場する基本中の基本です。まずは「箱に値を入れて、名前で呼び出す」というイメージさえつかめれば大丈夫です。手を動かしながら少しずつ慣れていきましょう。

変数が理解できたら、次は「条件によって処理を分ける if文」を学んでいくのがおすすめです。変数とif文が分かれば、プログラミングでできることが一気に広がります。

なお、学習を進める中で分からないことが出てきたときの調べ方は、3つの鉄則:エンジニアが分からないことを解決する最適な方法でまとめています。また、実際にRubyを動かしてみたい方はmacOSにRuby on Railsをインストールする方法もあわせてご覧ください。

スポンサーリンク

  • このエントリーをはてなブックマークに追加

コメント

Comments are closed.