을 편집하여 추가했습니다. 귀하의 의견은 요소 'a'가 배열의 배열이되도록 지정합니다. 여기있다 : 문제를 진단 할 때
h = Hash.new
h = {"a" => [["b","e"]]}
p h # => {"a"=>[["b", "e"]]}
h["a"] << ["d", "f"]
p h # => {"a"=>[["b", "e"], ["d", "f"]]}
, puts
에 p
을 선호합니다. puts
은 중요한 세부 정보를 숨길 수 있습니다. p
에 몇 가지 통화를 추가하고 알아 낸 내용을 살펴 보겠습니다. 아, 해시 이름을 "p"에서 "h"로 바꿀 것입니다. 그렇지 않으면 주위에 너무 많은 "p"가 있습니다.
h = Hash.new
위의 내용은 필요하지 않습니다. 다음 줄은 "h"에 배열을 할당하고이 할당을 덮어 씁니다.
h = {"a" => ["b","e"]}
p h # => {"a"=>["b", "e"]}
p h["a"].size # 2
모두는, 심지어 시간 [ "A"]. 크기는 2 이유를 반환해야 정확히 무엇입니까?
p h["a"] # => ["b", "e"]
h [ "a"]는 두 개의 요소가있는 배열입니다.
h["a"] << ["d", "f"]
p h # => {"a"=>["b", "e", ["d", "f"]]}
어떤 현상이 발생 했습니까? <<
은 배열 끝에 하나의 요소를 추가하고 그 단일 요소는 배열 [ "d", "f"]입니다. 그리고 그 이유 : 스트링 "B"및 "E"와 어레이 [ "D", "F"] 배열의 세 가지 요소가 실제로 존재
p h["a"].size # => 3
때문에.
당신이 배열의 요소 "D"와 "F"를 추가하는 것을 의미하는 경우
다음
+=
함께 할 :
h = {"a" => ["b","e"]}
h["a"] += ["d", "f"]
p h # => {"a"=>["b", "e", "d", "f"]}
방법 3 호선 2의 크기가 잘못? p [ "a"]는 2 개의 원소로 이루어진 배열입니다. 너는 무엇이 그 크기를 원 하겠니? 그리고 왜? – Pete
'{ "a"=> [[ "b", "e"], [ "d", "f"]]}와 같은 크기를 2로 지정합니다. – BSingh