해시 또는 해시 배열 인 객체 (API와에서 반환 됨)가 있습니다. 이미 배열이 아니면 배열로 묶고 싶습니다.배열 메소드 대 해시
Array(1) # => [1]
Array([1, 2]) # => [1, 2]
Array([{a: 1}, {b: 2}]) # => [{:a=>1}, {:b=>2}]
을하지만 해시 실패 :
Array({a: 1}) # => [[:a, 1]]
는
[{:a=>1}]
을해야
나는 숫자 나 배열과 예상되는 방식으로 작동하는, 그것을
Array
을 적용했습니다.
responses = [responses] if responses.is_a?(Hash)
더 나은 솔루션이 있습니까 :
또한, 나는 유형 검사를 추가 할 수 있을까?
'[responses] .flatten'입니다. – mudasobwa
또한'ActiveSupport'는 당신이 원하는 것을 정확하게 수행하는 ['Array # wrap'] (http://api.rubyonrails.org/classes/Array.html#method-c-wrap)을 소개합니다. – mudasobwa
@mudasobwa Perfect,'Array # wrap'이 제 선택입니다. – sschmeck