YAML

YAML

YAML(YAML Ain't Markup Language)은 데이터 직렬화를 위한 포맷이에요. 이 모듈은 YAML 형식으로 데이터를 직렬화하는 Ruby 인터페이스를 제공해요. YAML 모듈은 Ruby의 YAML 엔진인 Psych의 별칭(alias)이에요.

YAML을 다루는 건 아주 간단해요:

require 'yaml'
# Parse a YAML string
YAML.load("--- foo") #=> "foo"

# Emit some YAML
YAML.dump("foo")     # => "--- foo\n...\n"
{ :a => 'b'}.to_yaml  # => "---\n:a: b\n"

구현은 Psych 라이브러리가 제공하므로, 상세 문서는 그 라이브러리의 문서(표준 라이브러리의 일부)에서 찾을 수 있어요.

주의: 신뢰할 수 없는 데이터를 YAML로 로드하지 마세요. 그렇게 하는 건 안전하지 않고, 악성 입력이 여러분의 애플리케이션 안에서 임의의 코드를 실행하게 만들 수 있어요. 자세한 내용은 doc/security.rdoc를 참고하세요.

Syck은 Ruby 표준 라이브러리에서 최초의 YAML 구현이었는데, why the lucky stiff가 개발했어요. 원한다면 여전히 YAML 파싱과 출력에 Syck을 쓸 수도 있지만, 이제는 사용하려면 syck 젬을 설치해야 해요. <= 1.9 같은 예전 Ruby 버전에서는 Syck이 여전히 제공됐지만, Ruby 2.0.0 출시와 함께 완전히 제거됐어요.

구현에 대한 더 자세한 내용은 Psych를 참고하고, 사양 세부사항과 도움이 되는 정보는 yaml.org를 살펴보세요. Psych는 Aaron Patterson이 github.com/ruby/psych에서 관리하고 있고, Syck은 github.com/ruby/syck에서 찾을 수 있어요.

출처: Ruby 3.3 API