2009-10-21 31 views
6

Tôi không hiểu cách sử dụng các thẻ YAML cụ thể của ứng dụng, và có thể là do việc sử dụng chúng tôi mong muốn của chúng hoàn toàn sai. Tôi đang sử dụng YAML cho một tập tin cấu hình và hy vọng sẽ sử dụng các thẻ để cung cấp trình tải cấu hình của tôi với một gợi ý về kiểu dữ liệu nào nên phân tích dữ liệu thành các kiểu dữ liệu cụ thể của ứng dụng.Sử dụng các thẻ YAML để biểu thị các loại

Tôi cũng đang sử dụng libyaml với C.

Vì vậy, tôi đang cố gắng để làm một cái gì đó giống như ...

shapes: 
    square: "0,4,8,16" 
    circle: "5,10" 

Trong ứng dụng của tôi, tôi muốn sử dụng thẻ như gợi ý nên tôi có thể tải các giá trị của hình vuông vào cấu trúc dữ liệu vuông của tôi và các giá trị của vòng tròn vào cấu trúc dữ liệu vòng tròn của tôi (các giá trị này có nghĩa là không có gì trong ví dụ này).

Vì vậy, tôi đang thực hiện:

shapes: 
    square: !square "0,4,8,16" 
    circle: !circle "5,10" 

Libyaml sẽ cung cấp một thẻ của "vuông!" Khi tôi đã thông qua vô hướng "0,4,8,16". Có hợp lệ để sử dụng thẻ này để cung cấp trình tải của tôi với gợi ý về cách xử lý vô hướng không?

Vì nó làm việc cho tôi, tôi tò mò muốn biết nếu nó phù hợp. Và nếu không, làm thế nào tôi sẽ đi về việc này thích hợp hơn.

Cảm ơn.

Trả lời

3

Tôi biết rằng đây là một câu hỏi cổ xưa, nhưng dù sao tôi đã nhìn thấy! Int, vv đang được sử dụng trong các tập tin yaml trước vì vậy tôi đã đi để tìm kiếm các thông số kỹ thuật tại Yaml 1.2 SpeC# Tags

application specific tag: !something | 
The semantics of the tag 
above may be different for 
different documents. 

Theo tài liệu , có vẻ như cách sử dụng thẻ dự định của bạn là chính xác cho thẻ cụ thể của ứng dụng.

Các vấn đề liên quan