1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

【Ruby】ハッシュ(Hash)について

Posted at

今回はRubyでよく使うHashについて書き残しておきます。

#ハッシュ(Hash)とは?
ハッシュは文字列やシンボル等をキーにしてオブジェクトに格納するコンテナのこと。
以下のように{シンボル:値}で定義して出力することができます。

hash.rb
address = {name: "鈴木", furigana: "suzuki", tel:"123456"}

p address[:name]

p address[:furigana]

p address[:tel]

p address

実行結果

"鈴木"
"suzuki"
"123456"
{:name=>"鈴木", :furigana=>"suzuki", :tel=>"123456"}

#シンボルとは?
シンボル(Symnbol)とは文字列に似たオブジェクトで、Rubyがメソッドなどの名前を識別するためのラベルをオブジェクトにしたもの。シンボルには、先頭に「:」をつけて表現する。
ハッシュは文字列でも使えるが、シンボルを使った方が効率がいいらしい。

####シンボルと文字列の違いは?
シンボルは文字列に「:」がついただけに見えるが、数値で処理されるため、文字列より早く処理できる。

#eachを使用したハッシュの取り出し方
eachメソッドを使用して、ハッシュaddressが持っている項目名とその値を表示していきます。

hash.rb

address.each do |key, value|
    puts "#{key}: #{value}"
end

実行結果

name: 鈴木
furigana: suzuki
tel: 123456

#ハッシュのキー検索の仕方
key?メソッドで検索できます。引数には検索したいシンボルを入力します。

hash.rb

address = {name: "鈴木", furigana: "suzuki", tel:"123456"}

p address.key?(:name)
p address.key?(:suzuki)

実行結果

true
false

#ハッシュの値検索の仕方
value?メソッドで検索できます。引数には検索したい文字列を入力します。

hash.rb

address = {name: "鈴木", furigana: "suzuki", tel:"123456"}

p address.value?("name")
p address.value?("suzuki")

実行結果

false
true

以上、ハッシュの使い方まとめでした!

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?