#!/usr/bin/env ruby require 'pp' require 'json' # ------------------------------------ # pp Set.new # pp Set.new([1,2]) # client = Hash.new #Hashの作成 # pp client # i = 0 # while (i < 10) # client[i] = 'name' #nameのところにはhtmlで入力された名前を入れる # i += 1 # end # pp client # print("hashの長さ(client)は", client.keys.length, "\n") #Hashの長さを調べる # ------------------------------------ # ------------------------------------ # hash = Hash.new # clients = Hash.new # hash = { # user1: { # id: nil, # team: 1 # }, # user2: { # id: nil, # team: 2 # } # } # testHash = { # team1: { # id1: { # name: "name" # }, # id2: { # name: "name" # } # }, # team2: { # id3: { # name: "name" # }, # id4: { # name: "name" # }, # id5: { # name: "naem" # } # } # } # puts testHash # puts testHash.length # puts testHash[:team1].length # i = 1 # puts testHash[:"team#{i}"].keys.length # def sum(testHash) # i = 0 # sum_clients = 0 # while i < testHash.length # i += 1 # sum_clients += testHash[:"team#{i}"].keys.length # end # return sum_clients # end # puts sum(testHash) #全てのチームを虱潰しに探して、削除したいkeyを見つけたらそれをハッシュから削除するコード # def delete_hash(testHash, delete_key) # i = 0 # j = 0 # while i < testHash.length # i += 1 # while j < testHash[:"team#{i}"].keys.length # if testHash[:"team#{i}"].keys[j] == delete_key # testHash[:"team#{i}"].delete(testHash[:"team#{i}"].keys[j]) # end # j += 1 # end # j = 0 # end # return testHash # end # def sum_clients(clients) # i = 0 # sum = 0 # while i < clients.length # i += 1 # sum += clients[:"team#{i}"].keys.length # end # return sum # end # puts sum_clients(testHash) # puts delete_hash(testHash, :id3) # puts hash # hash[:user3] = {id: nil, team: 2} # pp hash # # 絞り込んで出力 # puts hash[:user2] # puts hash[:user2][:team] # # jsonにする # json_hash = hash.to_json # puts json_hash # # 一番最初のuserの部分を変更する # hash[:user4] = hash.delete(:user1) # # 違うhashに追加する # puts hash # clients = clients.merge(hash) # puts clients # puts clients.keys.length # ------------------------------------ hayaoshi_hash = {} # hash の追加 p hayaoshi_hash def push(hayaoshi_hash, push_data) flag = false hayaoshi_hash.each do |key, value| if push_data.keys[0] == key flag = true end end puts flag if flag == false hayaoshi_hash[push_data.keys[0]] = push_data.values[0] end return hayaoshi_hash end push(hayaoshi_hash, {"team2": "tututu"}) p hayaoshi_hash push(hayaoshi_hash, {"team1": "bababa"}) p hayaoshi_hash push(hayaoshi_hash, {"team2": "fasfafa"}) p hayaoshi_hash