すでにメンバーの場合は

無料会員登録

GitHubアカウントで登録 Pikawakaが許可なくTwitterやFacebookに投稿することはありません。

登録がまだの方はこちらから

Pikawakaにログイン

GitHubアカウントでログイン Pikawakaが許可なくTwitterやFacebookに投稿することはありません。

Ruby

【Ruby】 to_hメソッドの使い方を理解しよう

ぴっかちゃん
ぴっかちゃん

to_hメソッドとは、配列をハッシュに変換するメソッドです。

to_hメソッドの構文 -->
1
二次元配列オブジェクト.to_h
irb | to_hメソッドの使用例 -->
1
2
3
human = [["name", "pikawaka"]]
human.to_h
=> {"name"=>"pikawaka"}

to_hメソッドの使い方とは?

この章では、サンプルコードを使ってto_hメソッドについて解説します。

サンプルコードでto_hメソッドを理解する

[key, value] のペアとして作成した配列に対しto_hメソッドを実行します。
ただしこの時、配列は二次元配列である必要があります。
二次元配列以外の配列に使用するとエラーが発生します。

下記のように記述します。

to_hメソッドの使い方 -->
1
二次元配列オブジェクト.to_h

実際の例を見てみましょう。

irb | to_hメソッドの実行 -->
1
2
3
human = [["name", "pikawaka"]]
human.to_h
=> {"name"=>"pikawaka"}

このように配列からハッシュに変換することができました。
配列の最初のオブジェクトがキーに、2番目のオブジェクトがバリューになります。
2つ以上の場合は下記のように記述します。

irb | to_hメソッドの実行 -->
1
2
3
human = [["name", "pikawaka"], ["age", 25]]
human.to_h
=> {"name"=>"pikawaka", "age"=>25}

キーは文字列でなく、シンボルでも指定ができます。

irb | to_hメソッドの実行 -->
1
2
3
human = [[:name, "pikawaka"], [:age, 25]]
human.to_h
=> {:name=>"pikawaka", :age=>25}

※もっと詳しく知りたい方はこちらの記事を参照してください。

その他の変換系メソッド

Rubyには他にもオブジェクトの種類を変換するメソッドが用意されています。

メソッド 変換する内容 参照
to_s 文字列型に変換 参照記事
to_i 数値オブジェクトに変換 参照記事
to_f Floatクラス(浮動小数点数)に「変換 参照記事
to_sym シンボルに変換 参照記事
to_a 配列オブジェクトに変換 参照記事

Rubyの用語やコードの読み方を初歩から学びたい方は、こちらの書籍も参考になります。

この記事のまとめ

  • to_hメソッドは配列をハッシュに変換するメソッドのこと
  • メソッドを使う配列は二次元配列である必要がある
  • キーは文字列でもシンボルでも指定することが出来る