はじめに
Rubyのデータ型は、テキスト、文字列、数値など、さまざまな種類のデータを表します。
純粋なオブジェクト指向言語であるため、すべてのデータ型はクラスに基づいています。
Rubyには以下のようなデータ型が存在します。
- Number(数値)
- Boolean
- String(文字列)
- Hash(ハッシュ)
- Array(配列)
- Symbol(シンボル)
Number(数値)
一般に数値は、ドットを小数点として、一連の数字として定義されます。オプションとして、アンダースコア(”_”)をセパレータとして使用することができます。
数字には、整数や浮動小数点などの種類がありますが、Rubyでは、整数と浮動小数点数の両方を扱うことができます。
整数に関してはその大きさによって、BignumとFixnumの2種類に分けられます。
#時速を求める
distance = 0.1
time = 8.35 / 3600
speed = distance / time
puts "平均時速は#{speed}km/hです。"
#出力
平均時速は43.11377245508982km/hです。
Boolean
booleanは、真か偽のどちらかを表すデータ型です。
厳密には、booleanはデータ型ではなく、真を表すtrue型と偽を表すfalse型という擬似変数と呼ばれるものが存在しているだけです。
Rubyにおける真は、false,nil以外の全てのもの。
一方で偽は、false,nilのものです。
if true
puts "真"
else
puts "偽"
end
if nil
puts "nilは真"
else
puts "nilは偽"
end
if 1
puts "1は真"
else
puts "1は偽"
end
#出力
真
nilは偽
1は真
String(文字列)
文字列とは、文章や単語を表す文字の集まりのことです。文字列は、シングルクォート(”)またはダブルクォート(””)で囲んで定義します。
文字列は String クラスのオブジェクトです。
ダブルクォートで囲まれた文字列は代入とバックスラッシュ表記が可能ですが、シングルクォートで囲まれた文字列は代入ができず、バックスラッシュ表記ができるのは \ \ と \’ だけです。
puts "文字列型"
puts 'escapeに使う"\\"'
puts 'That\'s right'
#出力
文字列型
escapeに使う"\"
That's right
Hash(ハッシュ)
ハッシュはキーに値を割り当てます。キーに値を割り当てる場合は、=>記号で指定します。
キーとペアの間はカンマで区切り、すべてのペアを中括弧で囲みます。Rubyのハッシュは、JavaScriptのオブジェクトリテラルやPHPの連想配列のようなものです。
colors = { "red" => "赤", "green" => "緑", "blue" => "青" }
colors.each do |key, value|
print key, " は ", value, "\n"
end
#出力
red は 赤
green は 緑
blue は 青
Array(配列)
配列は、データまたはデータのリストを格納し、あらゆる種類のデータを格納することができます。
配列のデータは、カンマで区切り、角括弧で囲みます。配列の要素の位置は 0 から始まります。
ary = [ "荻野", 0, 38, "最多安打", "リードオフマン", ]
ary.each do |i|
puts i
end
#出力
荻野
0
38
最多安打
リードオフマン
Symbol(シンボル)
シンボルは軽量な文字列です。記号の前にはコロン(:)が付きます。
文字列の代わりに使用することで、より少ないメモリで使用することができ、シンボルの方が性能がいいです。
greetings = {:japan => "こんにちは", :us => "hello", :chn => "你好"}
puts greetings[:japan]
puts greetings[:us]
puts greetings[:chn]
#出力
こんにちは
hello
你好