基本構文

【Ruby rails】ruby 何 が できる? if文、for文、配列、ハッシュ、クラス、インスタンス、ポリモーフィズムなどRubyのソースコードを元に一気に解説します!

1. Rubyとは

Rubyは、1995年に日本人のまつもとゆきひろ氏によって開発されたプログラミング言語です。

人間中心の設計思想を持ち、読みやすく、書きやすいことを目指して設計されました。

サルモリ
おお、それは面白そうだね!実際にどんなコードを書くんだろう?

2. 変数と型

Rubyは動的型付け言語で、変数に型の宣言は必要ありません。変数を宣言するには等号(=)を使って値を割り当てます。たとえば、以下のように整数、浮動小数点数、文字列を割り当てることができます。

ソースコード例

サルモリ
これで変数numには整数の42、変数piには浮動小数点数の3.14159、変数messageには文字列の"Hello, World!"がそれぞれ割り当てられるんだよ!

Rubyには主に以下のデータ型があります:

Rubyの主なデータ型

  • 整数(Integer)
  • 浮動小数点数(Float)
  • 文字列(String)
  • 配列(Array)
  • ハッシュ(Hash)
  • シンボル(Symbol)
  • 真偽値(TrueClass, FalseClass)
  • nil

各型の詳細については、それぞれの段落で解説します。

また、Rubyでは変数名の先頭に特定の文字を付けることで、変数のスコープ(有効範囲)を変更することができます。たとえば、先頭に$を付けるとグローバル変数、@@を付けるとクラス変数、@を付けるとインスタンス変数になります。

サルモリ
なるほど、変数の型とスコープについては理解したよ。じゃあ、次に進むぞ!

3. 制御構文

3-1.条件分岐: if文

Rubyの制御構文は他のプログラミング言語と非常に似ています。

例えば、if文を用いて条件分岐を行うことができます。

ソースコード例

このコードは、age変数が20以上かどうかを判断し、それに応じたメッセージを出力します。

したがって、出力結果は"You are an adult."となります。

 出力結果
You are an adult.
サルモリ
うーん、if文はわかりやすいな!
Ruby言語のブロック、イテレータを徹底的に学びたい方は画像をクリックしてご覧ください!
KindleUnlimited会員であれば、全ての本をご覧頂けます。 配列、イテレータ、ブロックを理解すれば、Rubyプログラミングの世界が変わる 第1版

3-2. ループ: for文

Rubyには、繰り返し処理を行うためのfor文もあります。
次は、for文を用いて配列の要素を順番に出力する例です。

ソースコード例

 出力結果
1
2
3
4
5
サルモリ
繰り返し処理、便利だな!

4. 配列

Rubyの配列は、いくつでも値を格納することができます。
以下に、配列の作成とその要素へのアクセス方法を示します。


ソースコード例

 出力結果
apple
orange
grape
サルモリ
配列ってすごく便利だね!いくつでもデータをまとめて扱えるんだ!

4-1. 配列: 繰り返し処理

配列の要素を順番に処理するには、eachメソッドを使用します。

以下に、eachメソッドを用いて配列の要素を順番に出力する例を示します。

ソースコード例

 出力結果
apple
orange
grape
サルモリ
繰り返し処理を使えば、ひとつひとつ手間をかけずに全てのデータを扱えるんだね!

4-2. 配列とfor文を組み合わせる

Rubyには、繰り返し処理を行うためのfor文もあります。
次は、for文を用いて配列の要素を順番に出力する例です。

ソースコード例

 出力結果
1
2
3
4
5
サルモリ
for文も便利だね!配列の要素を順に処理するのに使えるんだね!

5. ハッシュ

Rubyのハッシュは、キーと値の組み合わせでデータを格納することができます。
以下に、ハッシュの作成とその要素へのアクセス方法を示します。

ソースコード例

 出力結果
John
30
サルモリ
ハッシュはキーと値の組み合わせでデータを扱えるんだね!値を検索するときにキーを使うと便利そうだ!

6. クラスとインスタンス

Rubyでは、クラスとインスタンスを使ってオブジェクト指向プログラミングを実現します。
クラスは設計図のようなもので、インスタンスはその設計図を基に作られた実体です。
以下に、クラスとインスタンスの作成例を示します。

ソースコード例

 出力結果
Hello, my name is John and I'm 30 years old.
サルモリ
クラスとインスタンスを使えば、より大きなプログラムを効率的に書くことができるんだね!

7. オブジェクト指向

Rubyはオブジェクト指向プログラミング言語で、それにはカプセル化、継承、ポリモーフィズムの三つの主要な概念が含まれています。
これらを理解することで、Rubyの力を最大限に引き出すことが可能です。

7-1. カプセル化

カプセル化は、データ(属性)とそのデータを操作するためのメソッド(関数)を一つの単位(オブジェクト)にまとめることです。
以下の例では、Personクラスが名前と年齢というデータと、それを表示するintroduceメソッドをカプセル化しています。

ソースコード例

 出力結果
Hello, my name is John and I'm 30 years old.
サルモリ
これならデータと操作を一緒に考えることができて、プログラムが読みやすくなるね!

7-2. 継承

継承とは、既存のクラスの属性(データ)やメソッド(関数)を引き継ぎながら新しいクラスを定義することを指します。これにより、コードの再利用と保守性が向上します。
下記に示すソースコードでは、Personクラスから属性とメソッドを引き継いだEmployeeクラスを作成します。

ソースコード例

 出力結果
Hello, my name is John, I'm 30 years old and I work as an Engineer.
サルモリ
うーん、これならEmployeeクラスはPersonクラスの持っている機能をそのまま使うことができて、さらに新しい機能も追加できるんだな!

7-3. ポリモーフィズム

ポリモーフィズムは、「多形性」を意味し、同じ名前のメソッドが異なる振る舞いをするという特性を指します。
下記のソースコードでは、PersonクラスとEmployeeクラスが同じ名前のメソッド(introduce)を持つが、その振る舞いが異なることを示しています。

ソースコード例

 出力結果
Hello, my name is Alice and I'm 25 years old.
Hello, my name is Bob, I'm 35 years old and I work as a Doctor.
サルモリ
同じメソッド名でも、クラスによって振る舞いが違うなんてすごいね! ポリモーフィズムってやつ、覚えておこう!

8. まとめ

この記事では、Rubyの基本的な構文と概念を解説しました。変数と型、制御構文、配列とハッシュ、クラスとインスタンス、そしてオブジェクト指向の基本であるカプセル化、継承、ポリモーフィズムについて見てきました。

Rubyは非常に表現力豊かで柔軟性のある言語であり、その美しい構文と豊富な機能は多くの開発者を魅了しています。しかし、その魅力を十分に引き出すためには、まずは基本的な知識をしっかりと理解することが大切です。

この記事がRubyの学習の一助となれば幸いです。プログラミングは実践的な学習が一番なので、ぜひ手を動かしてみてください。新たな世界が広がることでしょう。

最後まで読んで頂き、ありがとうございました。少しでもお役にたてたなら幸いです!

サルモリ
最後まで読んでくれてありがとう!!

-基本構文

Ads Blocker Image Powered by Code Help Pro

Ads Blocker Detected!!!

We have detected that you are using extensions to block ads. Please support us by disabling these ads blocker.

Powered By
Best Wordpress Adblock Detecting Plugin | CHP Adblock