.NET開発者のためのブログメディア

プログラミング言語Rubyの型を紹介!|Rubyの型を使いこなせるようになろう
- SE
- Rubyではどのような型が扱えますか。
- PM
- Rubyは変数の型宣言が不要で、IntegerやFloat、Boolean、Stringなどの様々な型を扱えます。
目次
Rubyの型について
今回は、Rubyの型について説明します。
RubyはC言語やJavaなどとは違い、変数の型宣言が不要です。
また、IntegerやFloat、Boolean、Stringなどの様々な型を扱えます。
変数の型チェックの方法についても紹介します。
Rubyの型に興味のある方はぜひご覧ください。
型の種類
Rubyには、以下のような型があります。
・整数(Integer)
正の整数、負の整数、ゼロを表します。
10進数、16進数、2進数、8進数も表現できます。
また、大きい数字はアンダーバーを付与することで読みやすくできます。実際に表示すると、アンダーバーは表示されません。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
<br> num1 = 123 # 正の整数<br> num2 = -123 # 負の整数<br> num3 = 0 # ゼロ</p><br> p num1 # 123<br> p num2 # -123<br> p num3 # 0<br> p ""---------------""</p><br> num4 = 0d123 # 10進数 (0dで始まる)<br> num5 = 0xfff # 16進数 (0xで始まる)<br> num6 = 0b110 # 2進数 (0bで始まる)<br> num7 = 0o777 # 8進数 (0oで始まる)</p><br> p num4 # 123<br> p num5 # 4095<br> p num6 # 6<br> p num7 # 511<br> p ""---------------""</p><br> num8 = 123_456_789 # 読みやすいように_を付与できる<br> p num8 # 123456789<br> |
実行結果は以下のようになります。
1 2 3 4 5 6 7 8 9 10 11 |
<br> 123<br> -123<br> 0<br> ""---------------""<br> 123<br> 4095<br> 6<br> 511<br> ""---------------""<br> 123456789<br> |
・浮動小数点数(Float)
1 2 3 4 5 6 7 8 9 |
<br> num1 = 1.2345 # 正の浮動小数点数<br> num2 = -1.2345 # 負の浮動小数点数<br> num3 = 1.2e2 # 浮動小数点数(指数表記)</p><br> p num1 # 1.2345<br> p num2 # -1.2345<br> p num3 # 120.0<br> |
実行結果は以下のようになります。
1 2 3 4 |
<br> 1.2345<br> -1.2345<br> 120.0<br> |
・論理型(Boolean)
true または false を表します。
1 2 3 4 5 6 7 |
<br> bool1 = true<br> bool2 = false</p><br> p bool1 # true<br> p bool2 # false<br> |
実行結果は以下のようになります。
1 2 3 |
<br> true<br> false<br> |
・文字列(String)
文字列(String)は、シングルクォート(‘)またはダブルクォート(“”)で囲みます。
1 2 3 4 5 6 7 |
<br> str1 = 'This is a string in double quote.'<br> str2 = ""This is a string in double quotes.""</p><br> p str1<br> p str2<br> |
実行結果は以下のようになります。
1 2 3 |
<br> ""This is a string in double quote.""<br> ""This is a string in double quotes.""<br> |
・配列(Array)
一つの変数の中に複数の値を格納できます。
異なる型を格納することもできます。
1 2 3 4 5 6 7 8 9 |
<br> array1 = [1, 2, 3, 4, 5] # 整数の配列<br> array2 = [""item1"", ""item2"", ""item3"", ""item4"", ""item5""] # 文字列の配列<br> array3 = [1, 2, 3, ""item4"", ""item5""] # 整数と文字列の配列</p><br> p array1 # [1, 2, 3, 4, 5]<br> p array2 # [""item1"", ""item2"", ""item3"", ""item4"", ""item5""]<br> p array3 # [1, 2, 3, ""item4"", ""item5""]<br> |
実行結果は以下のようになります。
1 2 3 4 |
<br> [1, 2, 3, 4, 5]<br> [""item1"", ""item2"", ""item3"", ""item4"", ""item5""]<br> [1, 2, 3, ""item4"", ""item5""]<br> |
・ハッシュ(Hash)
キーと値のペアを格納するコレクションです。
1 2 3 4 5 6 |
<br> name = {""first_name"" => ""Yamada"", ""last_name"" => ""Taro""}</p><br> p name[""first_name""] # ""Yamada""<br> p name[""last_name""] # ""Taro""<br> |
実行結果は以下のようになります。
1 2 3 |
<br> ""Yamada""<br> ""Taro""<br> |
・時刻(Time)
時刻を表すデータ型です。
1 2 3 4 5 |
<br> now = Time.now<br> p now<br> p now.strftime(""%Y/%m/%d %H:%M:%S"")<br> |
実行結果は以下のようになります。
実行時のタイムスタンプになります。
1 2 3 |
<br> 2020-09-03 14:02:29.924599563 +0000<br> ""2020/09/03 14:02:29""<br> |
Rubyは上記のような型を扱うことができます。
型を確認する
Rubyでは、Objectクラスのclassメソッドで型を確認できます。
実際のソースコードを見てみましょう。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
<br> num1 = 123<br> p num1.class # Integer</p><br> num2 = 1.2345<br> p num2.class # Float</p><br> bool1 = true<br> bool2 = false</p><br> p bool1.class # TrueClass<br> p bool2.class # FalseClass</p><br> str1 = 'This is a string in double quote.'<br> p str1.class # String</p><br> array1 = [1, 2, 3, 4, 5]<br> p array1.class # Array</p><br> name = {""first_name"" => ""Yamada"", ""last_name"" => ""Taro""}<br> p name.class # Hash</p><br> now = Time.now<br> p now.class # Time</p><br> p nil.class # NilClass<br> |
実行結果は以下のようになります。
1 2 3 4 5 6 7 8 9 10 |
<br> Integer<br> Float<br> TrueClass<br> FalseClass<br> String<br> Array<br> Hash<br> Time<br> NilClass<br> |
このように、RubyではObjectクラスのclassメソッドで型を確認できます。
型のチェック
Rubyでは「===」で型のチェックができます。
実際のソースコードを見てみましょう。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
<br> num1 = 123<br> p Integer === num1 # true</p><br> num2 = 1.2345<br> p Float === num2 # true</p><br> bool1 = true<br> bool2 = false</p><br> p TrueClass === bool1 # true<br> p FalseClass === bool2 # true</p><br> str1 = 'This is a string in double quote.'<br> p String === str1 # true</p><br> array1 = [1, 2, 3, 4, 5]<br> p Array === array1 # true</p><br> name = {""first_name"" => ""Yamada"", ""last_name"" => ""Taro""}<br> p Hash === name # true</p><br> now = Time.now<br> p Time === now # true</p><br> p NilClass === nil # true<br> |
実行結果はすべてtrueになります。
このように、Rubyでは「===」で型のチェックができます。
型の変換
Rubyでは to_i, to_f, to_s メソッドで型変換できます。
実際のソースコードを見てみましょう。
1 2 3 4 5 |
<br> p 1.0.to_i # Integerに変換<br> p 1.to_f # Floatに変換<br> p 1.to_s # Stringに変換<br> |
実行結果は以下のようになります。
1 2 3 4 |
<br> 1<br> 1.0<br> ""1""<br> |
このように、Rubyでは to_i, to_f, to_s, to_a, to_h メソッドで型変換できます。
[add_dialog_balloon ‘SE’ ‘left’ ‘Rolean、Stringなどの様々な型を扱えます。変数の型チェックの方法についても紹介しました。
ぜひご自身でソースコードを書いて、理解を深めてください。