どうも、三町哲平です。
ド忘れしていたRubyの基礎5選の第2弾です。
今回も引き続き、コチラの問題を解く際を想定
(4) Two Sum - LeetCode
解き方は、コチラを参照
RubyでLeetCodeやってみる-TwoSum - Qiita
LeetCodeでRubyの勉強をしてみた - Qiita
1. has_key?メソッド
planet = { Mercury: 'emerald', Venus: 'diamond', Jupiter: 'Yellow sapphire' }
p planet.has_key?(:Mercury)
p planet.key?(:Mercury)
p planet.include?(:Mercury)
p planet.member?(:Mercury)
#=>
true
true
true
true
メソッド機能としては、__has_key?, key?, include?, member?__は、全て同じ。
引用及び参考記事:Rubyでハッシュのキーを存在確認する方法を現役エンジニアが解説【初心者向け】 | TechAcademyマガジン)
2. fetchメソッド
fetchでは、ハッシュのキーを指定して紐づくバリューを取得しています。
fruits = { "apple" => 100, "orange" => 80, "melon" => 450 }
puts fruits.fetch("apple")
puts fruits.fetch("orange")
puts fruits.fetch("melon")
# => 100
# => 80
# => 450
引用及び参考記事:はじめてのRuby!fetchメソッドの使いかたをマスターしよう! | 侍エンジニアブログ
fetch => 読み込む # Google翻訳より
3. each_with_indexメソッド
eachループで回しつつ、それぞれのデータに番号を振ることが出来ます。
fruit = ["りんご", "みかん", "いちご"]
fruit.each_with_index do |item, i|
"#{i}番目のフルーツは、#{item}"です。
end
# => 0番目のフルーツは、りんごです。
# => 1番目のフルーツは、みかんです。
# => 2番目のフルーツは、いちごです。
引用及び参考記事:each_with_indexの使い方 - Qiita
4. empty?メソッド
Hashが空かを調べる事ができます。
menu = {"うどん" => "300円", "ラーメン" => "500円", "パスタ" => "800円"}
p menu.empty?
#=> false
引用及び参考記事:RubyのHashとは?Hashの概要と基本操作を解説|TECH PLAY Magazine [テックプレイマガジン]
5. eachメソッド
オブジェクト.each{|変数|
実行する処理1
実行する処理2
}
# 又は次のように記述することも出来ます。
オブジェクト.each do |変数|
実行する処理1
実行する処理2
end
「each」メソッドは配列や範囲オブジェクトなどで用意されているメソッドであり、オブジェクトに含まれている要素を順に取り出します。
(18..20).each{|num|
print("num = ", num, "\n")
}
print("\n")
# => num = 18
# => num = 19
# => num = 20
引用及び参考記事:eachメソッド - 繰り返し - Ruby入門