2016-06-25 2 views
1

일부 데이터를 캡처하는 tcl 스크립트가 있습니다. 이 데이터를 YAML 파일에 쓰고 싶습니다. TCL에서 이것을 수행하는 방법에 대해 읽을 수있는 예제 나 장소가 있습니까?TCL YAML 파일에 데이터 쓰기

답변

1

Tcllib의 yaml package입니다.

데이터가 간단한 단일 레벨 사전 인 경우, 당신은 다만 할 수 있습니다

package require yaml 

set yamlText [yaml::dict2yaml $yourDictionary] 

예를 들어 :

% set d {foo 123 bar "this is a piece of text"} 
foo 123 bar "this is a piece of text" 
% yaml::dict2yaml $d 
--- 
foo: 123 
bar: this is a piece of text 

% 

이 가진 가장 큰 문제는이 모든 것을 가정한다는 것이다 각 키의 문자열은 실제로 문자열입니다 (숫자는 대개 너무 짧아서 OK입니다).

따라서 데이터가 더 복잡한 경우 먼저 huddle package을 사용하여 데이터의 모이기 설명을 구성해야합니다. 이는 복잡한 구조를 생성하는 데 필요한 추가 유형 정보를 포함합니다. 나는이 대부분 보았다

package require huddle 
package require yaml 

set inner [huddle create boo "this is some text" grill "this is some other text"] 
set outer [huddle create foo 123 bar $inner] 
yaml::huddle2yaml $outer 
0

표준 Tcl 라이브러리 (tcllib)에는 yaml 패키지가 있습니다. 해당 패키지가 필요한 것을 수행하지 못하면 아이디어 소스를 볼 수 있습니다.

+0

덕분에, 그들은 더 초점을 맞춘 내가 YAML 파일로 내 데이터를 작성하려고 오전 YAML 파일에서의 데이터를 읽기에 보인다. – bytes1234

+0

@ bytes1234 다시보아야합니다. 패키지 (또는 적어도 볼 수있는 버전)는 두 가지를 모두 제공합니다. –