Created
October 13, 2013 08:37
-
-
Save katsuhide/6959880 to your computer and use it in GitHub Desktop.
配列 / ハッシュ / json周り
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
## 配列から指定した条件に合致する要素を抜き出す | |
a = [1,2,3,4,5] | |
a.select{|x| x%2 == 0 } => [2,4] | |
## 要素の追加 | |
a = [1, 2, 3,] | |
a << 99 #=> [1,2,3,4,5,99] | |
a.unshift(99) #=> [99,1,2,3,4,5,99] | |
a = [1, 2, 3, 4, 5] | |
a.push(10) #=> [1, 2, 3, 4, 5, 10] | |
## ハッシュの生成 | |
h = {"apple"=>150, "banana"=>300, "lemon"=>300} | |
p h['apple'] #=> 150 | |
p h['banana'] #=> 200 | |
p h['lemon'] #=> 300 | |
p h['papaia'] #=> nil | |
p h.fetch('apple') #=> 150 | |
p h.fetch('papaia', 500) #=> 500 | |
p h.fetch('papaia') { 500 } #=> 500 | |
p h.fetch('papaia') #=> IndexError | |
## ハッシュへ要素を追加 | |
h = Hash::new | |
h['apple'] = 150 | |
h['banana'] = 200 | |
h['lemon'] = 300 | |
h.store("hoge", 333) | |
## ハッシュ内のキーの存在確認 | |
p h.key?('apple') #=> true | |
p h.has_key?('orange') #=> false | |
p h.include?('lemon') #=> true | |
p h.member?('avocado') #=> false | |
## ハッシュの要素数の取得 | |
p h.length #=> 3 | |
p h.size #=> 3 | |
## 最小、最大 | |
p [1, 8, 3, 6, 2, 7].max #=> 8 | |
p [1, 8, 3, 6, 2, 7].min #=> 1 | |
## ハッシュの削除 | |
# 要素の削除 | |
h.delete('banana') | |
# ハッシュの空 | |
h.clear | |
## ハッシュの変換 | |
# keyの配列 | |
puts h.keys | |
# valueの配列 | |
puts h.values | |
# pairの配列 | |
puts h.to_a | |
# json | |
JSON.generate(h) | |
h.to_json | |
## JSONの変換 | |
# jsonから配列/ハッシュ | |
JSON.parse(json_obj) | |
# 配列/ハッシュからjson | |
JSON.generate(obj) | |
# 整形したうえでjsonに | |
JSON.pretty_generate(obj) | |
# 両方 | |
JSON[obj] |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment