문자열을 해시로 변환하는 더 좋은 방법이 있는지 궁금합니다. 내 문자열은 구조와 관련해서는 항상 똑같을 것입니다. 다음은 예입니다문자열을 해시로 변환
string = "range:12\ntype:default\n"
@settings = Hash[
*string.downcase
.split("\n")
.map{|s| [s.split(":")[0].to_sym, s.split(":")[1]]}
.flatten
]
p @settings
# => {:range=>"12", :type=>"default"}
이는 어떻게해야 않으며, 나는이 아무 문제가 없다. 하지만 극도로 읽을 수 없으며 코드에 대한 리팩토링 옵션이 있기를 바랍니다.
왜 값 앞에 공백을 추가하지 않으며 YAML 그것을 만들어? –