2010-02-18 5 views
8

YAML 항목의 시작 부분에있는 앰퍼샌드는 일반적으로 나중에 참조 할 수있는 데이터 집합의 레이블로 간주됩니다. YAML 항목을 시작할 때 합법적 인 앰퍼샌드를 어떻게 피할 수 있습니까? 예를 들면 :YAML 항목의 시작 부분에서 & (앰퍼샌드)를 이스케이프합니까?

---
- 뉴스 :
        news_text : & ldquo; 텍스트! & rsquo;

나는 & ldquo는 YAML 파일 내에서 레이블이 될하지 찾고 있어요,하지만 오히려 나는 다시 & ldquo와 올 news_text을 위해 YAML 파일을 구문 분석 얻을 때; 항목에. 내가 어떤 YAML 라이브러리가 똑똑해야한다고 생각

--- 
- news: 
    news_text: '“Text!’' 

을하지만 :

답변

11

그냥 당신이 원하는 것을 할 것 따옴표로 전체 문자열을 넣는 텍스트

require 'yaml' 

data = <<END 
--- 
- news: 
    news_text: "&ldquo;Text!&rsquo;" 
END 

puts YAML::load(data).inspect 

# produces => [{"news"=>{"news_text"=>"&ldquo;Text!&rsquo;"}}] 
0

따옴표를 넣어 그거 할거야? 아마 당신은 단지뿐만 아니라 거기에 적절한 문자를 사용할 수 있습니다, 게다가

--- 
- news: 
    news_text: "&ldquo;Text!&rsquo;" 

:

3

당신은 아마 따옴표로 텍스트를 둘러싸 수있는 완전히 다른 마크 업 언어에 특정 탈출 퍼팅

--- 
- news: 
    news_text: “Text!’ 

다른 마크 업 언어로 쓰여진 문서로 ... 어떻게 든, 저에게 이상합니다.

1

또는 '>'또는 ''을 입력하면 다음 줄에 문자열을 넣을 수 있습니다. '문자열이 있던 곳에서. '| > '은 줄 바꿈을 무시하고 하나의 긴 문자열로 바꿉니다.' '문자는 파서가 사용자 지정 줄 바꿈을 유지합니다.

- news: 
    news_text: > 
     &ldquo;Text!&rsquo; 
관련 문제