map sort jsonファイルのソート ハッシュのソート 配列のソート 正規表現 data
【map】
eachの強化版
hairetu = [1,2,3,4]
hairetu2 = []hairetu.each{|new|
hairetu2.push(new*2)}
p hairetu2
と表記できる。
hairetu2の変数が不要になった。内部で変数に代入している。
【sort】:Rubyで多重配列やハッシュをソートする:お題目うぉっち
:JSONな配列を、指定の項目でソートをかける、PHPとRuby比較 - Qiita
配列のsort
p [['Tokyo',10],['Nagoya', 2],['Sapporo',50],['Fukuoka',30]].sort { |a,b|
a[1] <=> b[1]
}
jsonファイルのsort
puts tpo.sort_by{|hash| hash['age'].to_i}
2つめのハッシュの前に-を入れると降順になる
ハッシュのsort
p myhash = {'Tokyo'=>10, 'Nagoya'=>2, 'Sapporo'=>50, 'Fukuoka'=>30}.sort{|a,b|
a[1] <=> b[1]
}
【正規表現】
文字列のパターンを記述するために使う言語
文字列が指定したパターンを含んでいるか否か調べられる(マッチング)
/Ruby/ となる。/パターン/ =~ マッチングしたい文字列でマッチングしてるか調べる
data = "2015年7月10日"
/(\d{4})年(.+?)月(.+?)日/ =~ data
print $1,".",$2,".",$3,"\n"
d4は数字4桁の数字、.任意の文字、+は一個以上、?は最短マッチを表す
正規表現は、何文字目でヒットしたか数値を返し、上記でヒットした文字列は順に$1、$2、・・・に代入されていく
【data】
require data で、dataライブラリを読み込む
Date.new(2015,7,10)で日付(今日)を指定してオブジェクト作成