Programming

YAML에서 문자열에 대한 따옴표가 필요합니까?

procodes 2020. 3. 3. 23:06
반응형

YAML에서 문자열에 대한 따옴표가 필요합니까?


Rails 프로젝트의 국제화를 위해 YAML 사전을 작성하려고합니다. 그래도 일부 파일에서 큰 따옴표로 묶인 문자열과 그렇지 않은 문자열을 볼 때 약간 혼란 스럽습니다. 고려해야 할 몇 가지 사항 :

  • 예 1- 모든 문자열은 큰 따옴표를 사용합니다.
  • 예 2- 문자열 없음 (마지막 두 개 제외)은 따옴표를 사용합니다.
  • YAML 요리 책은 말한다 : 따옴표로 문자열을 묶는 것은 당신이 ASCII 및 유니 코드 문자를 표현하기 위해 escapings를 사용할 수 있습니다. 이것은 일부 문자를 이스케이프하려는 경우에만 큰 따옴표를 사용해야한다는 것을 의미합니까? 그렇다면-첫 번째 예에서 왜 어디서나 큰 따옴표를 사용합니까? 단일 / 문체 적 이유 때문에 만 따옴표를 사용합니까?
  • 예제 2의 마지막 두 줄은 !비특이적 태그를 사용하지만 첫 번째 예제의 마지막 두 줄은 사용하지 않으며 둘 다 작동합니다.

제 질문은 YAML에서 다른 유형의 따옴표를 사용하는 규칙은 무엇입니까?

다음과 같이 말할 수 있습니다.

  • 일반적으로 따옴표가 필요하지 않습니다.
  • 문자를 이스케이프하려면 큰 따옴표를 사용하십시오.
  • !작은 따옴표와 함께 사용할 때 ...?!?

이 질문에 인용 된 YAML 요리 책과 몇 가지 테스트에 대한 간단한 검토를 한 후 다음과 같이 해석합니다.

  • 일반적으로 따옴표가 필요하지 않습니다.
  • 따옴표를 사용하여 문자열을 강제하십시오 (예 : 키 또는 값이 10있지만 Fixnum이 아닌 문자열을 리턴하려는 경우 쓰기 '10'또는) "10".
  • 당신의 값에 특수 문자가 포함 된 경우 따옴표를 사용하십시오 (예를 들어 :, {, }, [, ], ,, &, *, #, ?, |, -, <, >, =, !, %, @, \).
  • 작은 따옴표를 사용하면 문자열에 거의 모든 문자를 넣을 수 있으며 이스케이프 코드를 구문 분석하지 않습니다. '\n'문자열로 반환됩니다 \n.
  • 큰 따옴표는 이스케이프 코드를 구문 분석합니다. "\n"줄 바꿈 문자로 반환됩니다.
  • 느낌표는 예 !ruby/sym들어 루비 기호를 반환하는 방법을 소개합니다 .

가장 좋은 방법은 반드시 인용 부호를 사용하지 않는 한 따옴표를 사용하고 탈출 코드를 구체적으로 처리하지 않는 한 작은 따옴표를 사용하는 것입니다.

최신 정보

"예"와 "아니오"는 따옴표 (싱글 또는 더블)로 묶어야합니다. 그렇지 않으면 TrueClass 및 FalseClass 값으로 해석됩니다.

en:
  yesno:
    'yes': 'Yes'
    'no': 'No'

참고 URL : https://stackoverflow.com/questions/19109912/do-i-need-quotes-for-strings-in-yaml



반응형