Hash란?

다른 언어에서는 Dictionary라는 이름으로 많이 만나봤을 것.
unique한 key와 value를 가진다. 앞으로 ruby를 하면서 자주 만나게 될 것

  • 선언 법을 보자. 밑의 6개의 예제가 있는데 6개 모두 동일한 의미를 갖게 된다.
    def home
      grades = {:jo => 30, :ho => 40}
      puts grades[:jo]
    
      grades2 = {"jo" => 30,"ho" => 40}
      puts grades2["jo"]
    
      grades3 = Hash["jo",30, "ho",40]
      puts grades3["jo"]
    
      grades4 = Hash[[["jo",30],["ho",40]]]
      grades4["jo"] = 20
      puts grades4.keys
    
      grades5 = Hash["jo" => 30, "ho" => 40]
      puts grades5["jo"]
    
      grades6 = Hash.new()
      grades6["jo"] = 30
      grades6["ho"] = 40
      puts grades6["jo"]
    end
    
  • 이런식으로도 사용할 수 있다. 예제
    def home2
      person  = { 1 => {"name" => "hanjung" , "from" => 199, "to" => 2012},
              2 => {"name" => "minjung" , "from" => 1919, "to" => 2020},
              3 => {"name" => "jungjung", "from" => 1111, "to" => 202020} }
      (1..3).each do |p|
          puts "#{person[p]["name"]} 그리고 #{person[p]["from"]} ~ #{person[p]["to"]}"
      end
    end
    
  • 참조 https://docs.ruby-lang.org/en/2.0.0/Hash.html