Ruby
Ruby2.3.1

Ruby入門第8回〜オブジェクトの変換〜

Rubyについて簡潔にまとめたものを何回かに分けて投稿していきます。サクッと読めるようにしたいので一記事の長さはできるだけ短くしています。

環境

Ruby : Ruby 2.3.1
OS : macOS High Sierra バージョン 10.13.4

文字列オブジェクトを数値オブジェクトに変換

to_i

文字列オブジェクトを数値オブジェクトに変換します。文字列を10進数の表現とみなして整数に変換するので、10進数と見なせる部分がなければ0を返します。

helloworld.rb
a = "1"
b = 1

# 以下の書き方だとオブジェクトの種類が違うものを結合しようとしているのでエラーが出ます。
# p a + b

p a.to_i + b
ターミナル
hogenoMacBook-Pro:~/workspace/ hoge $ ruby helloworld.rb
2

文字列オブジェクトを浮動小数点に変換

to_f

文字列オブジェクトを浮動小数点に変換します。文字列の先頭から浮動小数点とみなせる部分を切り取って変換するのでみなせる部分がなければ0.0を返します。

ハッシュを配列に変換する

to_a

ハッシュオブジェクトを配列オブジェクトに変換します。[キー、バリュー」を並べた配列の配列ができます。

helloworld.rb
fruits = {apple: 100}
p fruits.to_a
ターミナル
hogenoMacBook-Pro:~/workspace/ hoge $ ruby helloworld.rb
[[:apple, 100]]

配列をハッシュに変換

to_h

helloworld.rb
fruits =[["apple", 100]]
p fruits.to_h
ターミナル
hogenoMacBook-Pro:~/workspace/ hoge $ ruby helloworld.rb
{"apple"=>100}

終わりに

これで第8回オブジェクトの変換は終了です。配列をハッシュに変換する方法は他にもありますので参考のリンクを見ていただけるとさらに理解が深まると思います。

参考

[Ruby] each_with_objectもmapも使わずにto_hだけで配列をハッシュに変換する - TechRacho

ArrayからHashに変換する方法いろいろ - Qiita

配列からハッシュを作成する - RubyLife