AI가 YAML의 yes를 스키마 확인 없이 참으로 읽어도 될까?
같은 yes·no·on·off를 YAML 1.1과 1.2 핵심 스키마로 번갈아 해석해, 글자 모양만으로 값의 종류를 정할 수 없는 경우를 확인합니다.
그림에서 무엇을 볼까요?
같은 yes 값이 YAML 1.1 규칙에서는 불리언 참으로, YAML 1.2 핵심 스키마에서는 문자열 yes로 갈라지는 관계도
YAML(야믈, 데이터 직렬화 형식) 설정 파일의 enabled: yes를 사람은 ‘활성화됨’으로 읽을 수 있습니다. 그러나 프로그램이 만드는 값은 사용한 스키마에 달려 있습니다. 스키마는 따옴표 없는 짧은 값이 불리언·숫자·문자열 가운데 무엇인지 푸는 규칙 묶음입니다.
YAML 1.1의 불리언 형식은 yes·no·on·off를 참·거짓으로 인정합니다. 반면 YAML 1.2.2 권장 핵심 스키마의 불리언 규칙은 true·false 계열을 사용하고, yes처럼 다른 규칙에 맞지 않는 값은 문자열로 풉니다.
함께 확인할 점
YAML 1.1 불리언 형식과 YAML 1.2.2 핵심 스키마의 차이만 단순화합니다. 실제 라이브러리의 기본값과 사용자 지정 태그는 따로 확인해야 합니다.
생각해 볼 질문
내가 쓰는 YAML 도구가 yes·on·true를 각각 어떤 종류로 읽는지 확인할 세 줄짜리 시험 파일과 예상 결과를 적어 보세요.
