YAML documentation, 잘 그 방법을 포함하지는 않지만 ~이야. ay
기본 구현은 libyaml 래퍼 Psych입니다.
YAML의 기초가되는 Psych documentation은 읽기, 구문 분석 및 YAML을 처리합니다.
require 'yaml'
foo = {"file.yaml" => ["extra","intra","lateral"]}
bar = foo.to_yaml
# => "---\nfile.yaml:\n- extra\n- intra\n- lateral\n"
그리고 여기에 생성 된 직렬화 bar
변수가 작성된 경우처럼 보이는 내용은 다음과 같습니다 :
baz = YAML.load(bar)
baz
# => {"file.yaml"=>["extra", "intra", "lateral"]}
하십시오 YAML 파서가 필요로하는 형식의
puts bar
# >> ---
# >> file.yaml:
# >> - extra
# >> - intra
# >> - lateral
다음은 기본 과정이다
이 시점에서 해시는 루비 해시에서 왕복 이동했으며, YAML 직렬화 문자열로, 다시 Ruby 해시로. 파일에
쓰기 YAML은 루비의 File.write
방법을 사용하여 쉽게 :
File.write(foo.keys.first, foo.values.first.to_yaml)
또는
포함 "file.yaml"라는 이름의 파일에 결과
foo.each do |k, v|
File.write(k, v.to_yaml)
end
:
---
- extra
- intra
- lateral
을
파일을 읽고 구문 분석하려면 YAML의 load_file
메서드를 사용하십시오.
foo = YAML.load_file('file.yaml')
# => ["extra", "intra", "lateral"]
"How do I parse a YAML file?는"유용 할 수 있습니다뿐만 아니라,이 페이지의 오른쪽에있는 다른 "관련"링크.
당신이하려는 일은 분명하지 않습니다. 'trg :: azimuth :'는 어디에서 왔습니까? 샘플 해시가 아니며 어디서나 설명되지 않습니다. –
trg :: azimuth : yaml에서 변경하지 않을 것으로 예상되는 정적 값입니다. –