知っていると便利なRubyの小技集
a-zの文字列を作成する
1 | ('a'..'z').to_a.join |
特定のkeyのみ抽出する
特定のkeyのみ抽出するにはvalues_atメソッドを使います。
1 | h = { "cat" = "feline", "dog" = "canine", "cow" = "bovine" } |
keyとvalueの配列からhashを作成する
1 | keys = ["suzuki", "itou", "yamada"] |
特定の範囲の要素を取得する
1 | ["a", "b", "c", "d", "e"][0..2] |
配列からnilを取り除く
1 | [1, 2, nil, 3, 4, nil].compact |
配列から特定の条件に一致する要素を取り除く
1 | [1,2,3,4,5,6].delete_if { |x| x % 2 == 0 } |
10進数を基数変換する
1 | 255.to_s(2) |
逆の操作を行う場合はto_i
メソッドを使います。
1 | "11111111".to_i(2) |
ハッシュのvalueでソートする
1 | scores = { 'Carol' => 90, 'Alice' => 50, 'Bob' => 60, 'David' => 40 } |
同じ値を数える
1 | ["a", "b", "c", "a", "b", "b"].each_with_object(Hash.new(0)) {|r, arr| arr[r]+=1 } |