반응형
동일한 크기의 두 배열에서 Ruby 해시를 만드는 방법은 무엇입니까?
두 개의 배열이 있습니다
a = [:foo, :bar, :baz, :bof]
과
b = ["hello", "world", 1, 2]
내가 원하는
{:foo => "hello", :bar => "world", :baz => 1, :bof => 2}
이 작업을 수행 할 방법이 있습니까?
h = Hash[a.zip b] # => {:baz=>1, :bof=>2, :bar=>"world", :foo=>"hello"}
... 젠장, 난 루비를 사랑해.
이 작업을 수행하는 약간 더 깨끗한 방법이 있음을 지적하고 싶었습니다.
h = a.zip(b).to_h # => {:foo=>"hello", :bar=>"world", :baz=>1, :bof=>2}
그래도 "I love Ruby"부분에 동의해야합니다!
이건 어때?
[a, b].transpose.to_h
Ruby 1.9를 사용하는 경우 :
Hash[ [a, b].transpose ]
나는 마치 주인이고 노예 인 것처럼 a.zip(b)
보이지만 이 스타일에서는 그들은 평평하다.a
b
참고 URL : https://stackoverflow.com/questions/3359659/how-to-build-a-ruby-hash-out-of-two-equally-sized-arrays
반응형
'programing' 카테고리의 다른 글
공백으로 채워진 고정 길이 문자열 생성 (0) | 2020.09.20 |
---|---|
원인 : java.lang.UnsupportedOperationException : 차원으로 변환 할 수 없음 : 유형 = 0x1 (0) | 2020.09.20 |
linq to SQL을 사용하여 한 번에 여러 행을 업데이트하는 방법은 무엇입니까? (0) | 2020.09.20 |
Twig 템플릿에서 for 루프 내에서 중단 또는 계속을 사용하려면 어떻게해야합니까? (0) | 2020.09.20 |
UITableView를 그룹화 스타일로 설정하는 방법 (0) | 2020.09.20 |