このサンプル Ruby コードでは結果が出力されないのはなぜですか?
概要
なぜ以下のコードでは星が 3 つ以上の映画が出力されないのか疑問に思っています。
movie_ratings = {
memento: 3,
primer: 3.5,
the_matrix: 5,
truman_show: 4,
red_dawn: 1.5,
skyfall: 4,
alex_cross: 2,
uhf: 1,
lion_king: 3.5
}
def good_movies
puts movie_ratings.select {|movies, ratings| ratings > 3}
end
good_movies
解決策
メソッド good_movies では、ローカル変数 movie_rateds にアクセスできません。ここではいくつかのアプローチが利用できます。