猫の魔法

主にruby系の技術メモを記載

今日の学び 2017/10/17

だいぶブログを休んでいたが、やっと生活が落ち着いて来たので学んだ事があったら書き留めて行こうと思う。 空白期間にあった話は、気が向けば今度記事にしようと思う。

とりあえず平日はrubyvim関連で個人的にメモって置いた方が良さそうなことを記載して行こうと思う。基本的にコード書く時間を優先するので、毎日更新はしないかもだけど。。。。

※気になる所あったらツッコミ歓迎です。

正規表現の比較

比較だけしたいなら===で比較する。正規表現側が左辺値になるので注意

str = 'hoge'

/hoge/ === str 
=>true
/wan/ === str 
=>false

mapでハッシュのキー値を StringからSymbolに

ymlファイルからデータ読み込むと、キー値が文字列のハッシュで読み込まれるので、それをsymbolに変えたいと思った事がきっかけ。簡単にやるならmapするのがいい。

sample = {"hoge"=>"neko"}
sample.map {|key, value|  [key.to_sim, value] }.to_h
=>{:hoge=>"neko"}

上の説明

mapはレシーバーをブロック内で展開し、その評価結果を1要素として配列を作って返す。それをto_hするとハッシュに戻る仕組み。