【#100DaysOfCode】6日目「作りながら学ぶRuby入門」ハッシュ パターンマッチング
[ご飯食べすぎ]ーー[横になる] ーー [だらだらスマホ]
ダメですね。
ということで、本日の[#100DaysOfCode]
Days 6
・「作りながら学ぶRuby入門」
・第9章:コレクションを使おう | ハッシュ、パターンマッチング
キー + 値 の組み | ハッシュ |
ハッシュを作成し、ローカル変数に渡す
# 「作りながら学ぶRuby入門」 第9章 ハッシュ ## Symbolクラス 「:~~」文字や数字の並び ## 文字列の代わりによく用いられる # 新しいハッシュを作る friends = { :shin => "Shin Kuboaki", :shinichirou => "Shinichorou Ooba", :shingo => "Shingo Katori", :fav_artist => "ビリー・アイリッシュ" } # ハッシュの要素を一つずつ処理する # 繰り返しの都度、キーと値をブロック内のローカル変数key, valueに渡す friends.each { |key, value| # ローカル変数の値を表示する puts "#{key}, #{value}" }
キーが「含まれているかどうか」の検索
# 「作りながら学ぶRuby入門」 第9章 ## 新しいハッシュを操作する。含まれているか調べる # 新しいハッシュを作る friends = { :shin => "Shin Kuboaki", :shinichirou => "Shinichorou Ooba", :shingo => "Shingo Katori", :fav_artist => "ビリー・アイリッシュ" } # ハッシュに要素を追加する friends[ :shinsaku ] = "高杉 晋作" # ハッシュの要素を検索する puts friends.include?( :shinsaku) puts friends[:shinsaku] # 追加した要素を削除する friends.delete(:shinsaku) # ハッシュの要素を検索する if friends.include?(:shinsaku) then puts friends[:shinsaku] else puts "見つかりません" end
正規表現を使って、パターンマッチング
# 「作りながら学ぶRuby入門」 第9章 # パターンマッチを使おうぜ!! ## 正規表現を使って、文字が「一部含まれている」場合の検索 str = "Twinkle, twinkle, little star, How I wonder what you are. Up above the world so high, Like a diamond in the sky. Twinkle, twinkle, little star, How I wonder what you are." # 上の歌詞を行ごとに分割し、linesという配列に格納する lines = str.split(/\n/) # "you"にマッチする行を表示する puts "youが含まれていた行" lines.each { |line| if line =~ /[Yy]ou/ then puts line end } puts "" # "i"がきて2文字置いて、"l"がくる文字列が含まれる puts '"i"がきて2文字置いて、"l"がくる文字列が含まれる行' lines.each { |line| if line =~ /i..l/ then puts line end }