YAML 에서는 여러 줄 문자열을 쉽게 만들 수 있습니다 . 그러나 |
문자 를 사용하여 여러 줄 배열 (주로 구성 파일 내에서 읽기 쉽도록)을 만드는 기능을 원합니다 .
YAML 배열 은 다음과 같이 나타낼 수 있습니다 ['key1', 'key2', 'key3']
.
YAML 시퀀스 는 대시와 공백, 문자열을 사용합니다.
- String1
- String2
- String3
이것은 다음과 같이 평가됩니다 ['string1', 'string2', 'string3']
..
YAML 매핑 은 YAML 에서 항상 볼 수있는 키 및 값 쌍의 배열입니다.
Key1: string1
Key2: string2
Key3: string3
이것은 모두 좋고 훌륭하지만, 나는 멀티 라인 배열을 수행하는 방법을 볼 수 없습니다. 이 같은:
|
['string1', 'string2', 'string3']
['string4', 'string5', 'string6']
YAML에서 여러 배열 매핑을 만들고 선택한 프로그래밍 언어로 병합하는 데 부족한 경우 { }
Python 과는 달리 YAML에서 멀티 라인 배열을 달성 할 수있는 방법이 있습니까?
답변
YAML의 시퀀스 이다 어레이 . 이것이 올바른 표현 방법입니다.
key:
- string1
- string2
- string3
- string4
- string5
- string6
이는 다음과 같은 의미로 동일합니다.
key: ['string1', 'string2', 'string3', 'string4', 'string5', 'string6']
한 줄 배열을 여러 줄로 나누는 것도 합법적입니다.
key: ['string1', 'string2', 'string3',
'string4', 'string5',
'string6']
단일 행 배열에 여러 줄 문자열이 있습니다.
key: ['string1', 'long
string', 'string3', 'string4', 'string5', 'string6']
답변
이것을 시도 했습니까?
-
name: Jack
age: 32
-
name: Claudia
age: 25
나는 이것을 얻는다 : [{"name"=>"Jack", "age"=>32}, {"name"=>"Claudia", "age"=>25}]
(나는 YAML
Ruby 클래스를 사용한다 ).
답변
다음과 같이 작동합니다.
myarray: [
String1, String2, String3,
String4, String5, String5, String7
]
snakeyaml 구현을 사용하여 테스트했지만 다른 구현에 대해서는 잘 모르겠습니다.
답변
다음은 배열 요소 값이 작을 때 가독성 관점에서 나와 저에게 효과적입니다.
key: [string1, string2, string3, string4, string5, string6]
참고 : 사용 된 snakeyaml 구현
답변
필요한 것이 배열의 배열이면 다음과 같이 할 수 있습니다.
key:
- [ 'value11', 'value12', 'value13' ]
- [ 'value21', 'value22', 'value23' ]