はじめに
今回はハッシュの中のvalueだけを取り出して配列に入れ直すお話です
簡単なので短めです
なお、本記述はMacにおいて、Railsでの開発を前提としています
また、まだまだひよっこですので、不備等ございましたらご指摘いただけると幸いです
目次
- ハッシュを作ろう
- ハッシュから値を取り出して配列に入れ直そう
- おまけ
ハッシュを作ろう
この項目がいるか悩みましたが、ハッシュの復習も兼ねて書きます
まずは空のハッシュを作らないと始まりませんね
hush={}
できました
次になんでもいいので値を入れていき、ついでに確認しましょう
hush={}hush[:food]="唐揚げ"hush[:event]="お祭り"hush[:taste]="さほど美味しくない"hush[:action]="食べてしまう"phush=>{:food=>"唐揚げ",:event=>"お祭り",:taste=>"さほど美味しくない",:action=>"食べてしまう"}
できました
ハッシュから値を取り出して配列に入れ直そう
では本題に入りましょう
やり方は至ってシンプルです
ハッシュからひたすら"key"と"value"を取り出して、新しい配列に入れるだけです
hush={}hush[:food]="唐揚げ"hush[:event]="お祭り"hush[:taste]="さほど美味しくない"hush[:action]="食べてしまう"values=[]hush.eachdo|key,value|values<<valueendpvalues=>["唐揚げ","お祭り","さほど美味しくない","食べてしまう"]
できました
each文で"key"と"value"を回して"value"だけを配列"values"にぶち込んでいます
おまけ
もちろん"key"だけを配列に入れることもできます
hush={}hush[:food]="唐揚げ"hush[:event]="お祭り"hush[:taste]="さほど美味しくない"hush[:action]="食べてしまう"keys=[]values=[]hush.eachdo|key,value|keys<<keyvalues<<valueendpkeyspvalues=>[:food,:event,:taste,:action]=>["唐揚げ","お祭り","さほど美味しくない","食べてしまう"]
現段階では"key"だけ取り出して配列化するメリットが私にはわかりませんが、できましたね
しかしなぜお祭りの唐揚げの大半はさほど美味しくはないのに食べてしまうのでしょうか
それは…
唐揚げが大好きだからです