이와 같은 작업을 수행하는 더 확실한 방법이 있습니까?
%w[address city state postal country].map(&:to_sym)
#=> [:address, :city, :state, :postal, :country]
나는 %s
내가 원하는 것을했을 것이라고 생각 했지만 그렇지 않았습니다. 그것은 대괄호 사이의 모든 것을 가져 와서 큰 상징을 만듭니다.
약간의 성가심.
답변
원래 답변은 ’11 년 9 월에 작성되었지만 Ruby 2.0부터는 기호 배열을 만드는 더 짧은 방법이 있습니다! 이 리터럴 :
%i[address city state postal country]
당신이 원하는 것을 정확하게 할 것입니다.
답변
너무 문자 그대로 될 위험이 있으므로 심볼 배열을 구성하는 가장 깨끗한 방법은 심볼 배열을 사용하는 것입니다.
fields = [:address, :city, :state, :postal, :country]
그보다 더 간결한 것은 생각할 수 없습니다.
답변
%i[ ]
공백으로 분리 된 보간되지 않은 기호 배열 (루비 2.0 이후)
%I[ ]
공백으로 분리 된 보간 된 기호 배열 (루비 2.0 이후)
%i[address city state postal country]
가장 깨끗한 방법은 다음과 같습니다.
%w[address city state postal country].map(&:to_sym)