プログラミング言語Rubyの型を紹介!|Rubyの型を使いこなせるようになろう
- システム
エンジニア - Rubyではどのような型が扱えますか。
- プロジェクト
マネージャー - 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などの様々な型を扱えます。変数の型チェックの方法についても紹介しました。
ぜひご自身でソースコードを書いて、理解を深めてください。
FEnet.NETナビ・.NETコラムは株式会社オープンアップシステムが運営しています。
株式会社オープンアップシステムはこんな会社です
秋葉原オフィスには株式会社オープンアップシステムをはじめグループのIT企業が集結!
数多くのエンジニアが集まります。
-
スマホアプリから業務系システムまで
スマホアプリから業務系システムまで開発案件多数。システムエンジニア・プログラマーとしての多彩なキャリアパスがあります。
-
充実した研修制度
毎年、IT技術のトレンドや社員の要望に合わせて、カリキュラムを刷新し展開しています。社内講師の丁寧なサポートを受けながら、自分のペースで学ぶことができます。
-
資格取得を応援
スキルアップしたい社員を応援するために資格取得一時金制度を設けています。受験料(実費)と合わせて資格レベルに合わせた最大10万円の一時金も支給しています。
-
東証プライム上場企業グループ
オープンアップシステムは東証プライム上場「株式会社オープンアップグループ」のグループ企業です。
安定した経営基盤とグループ間のスムーズな連携でコロナ禍でも安定した雇用を実現させています。
株式会社オープンアップシステムに興味を持った方へ
株式会社オープンアップシステムでは、開発系エンジニア・プログラマを募集しています。
年収をアップしたい!スキルアップしたい!大手の上流案件にチャレンジしたい!
まずは話だけでも聞いてみたい場合もOK。お気軽にご登録ください。
新着案件New Job
-
開発エンジニア/東京都品川区/【WEB面談可】/在宅ワーク
月給29万~30万円東京都品川区(大崎駅) -
遠隔テストサービス機能改修/JavaScript/東京都港区/【WEB面談可】/テレワーク
月給45万~60万円東京都港区(六本木駅) -
病院内システムの不具合対応、保守/東京都豊島区/【WEB面談可】/テレワーク
月給30万~30万円東京都豊島区(池袋駅) -
開発/JavaScript/東京都豊島区/【WEB面談可】/テレワーク
月給50万~50万円東京都豊島区(大塚駅) -
債権債務システム追加開発/東京都文京区/【WEB面談可】/在宅勤務
月給62万~67万円東京都文京区(後楽園駅) -
PMO/東京都豊島区/【WEB面談可】/在宅勤務
月給55万~55万円東京都豊島区(池袋駅)