2010-07-26 37 views
6

tôi có thể bày tỏLàm thế nào để xác định phạm vi trong YAML?

trang 3 là tiêu đề trang

trong YAML

title: 3 

gì về sau?

trang 10-15 chứa chương 1

Một cách là

chapter 1: [10, 11, 12, 13, 14, 15] 

Tôi muốn một phạm vi ở đây. Có điều gì giống như vậy trong YAML không?

chapter 1: (10..15) 

** Update **

Sau đây sẽ là lựa chọn của tôi nếu không có những điều như phạm vi trong YAML

chapter 1: 
    start page: 10 
    end page: 15 
+0

Tại sao không chỉ 'chương 1: [10,15]'? Sau đó, tạo một hàm trong Ruby để chuyển đổi danh sách thành một phạm vi? – hirolau

Trả lời

11

Không có cách trực tiếp để xác định phạm vi trong YAML, nhưng một số YAML có thể lưu trữ các đối tượng được tuần tự hóa, ví dụ như trong Ruby:

... 
normal range: !ruby/range 10..20 
exclusive range: !ruby/range 11...20 
negative range: !ruby/range -1..-5 
... 

Look here

+0

Thx. Nhưng điều đó không tốt cho tôi. Tôi ngạc nhiên khi thấy một điều đơn giản như vậy không được nghĩ đến trong thông số kỹ thuật của YAML. Hoặc có thể tất cả các nghệ sĩ ruby ​​nghĩ rằng phạm vi là một điều cơ bản! :-) – rpattabi

+0

Và bạn đang sử dụng ngôn ngữ nào? –

+0

Tôi đang sử dụng Ruby. Nhưng tôi muốn có tập tin yaml có thể đọc được này cho người dùng. ! ruby ​​/ range sẽ đe dọa người dùng. – rpattabi

3

Phạm vi là ứng dụng cụ thể. Sau đây có thể có ý nghĩa đối với một số ứng dụng:

-1 .. Q

một .. Щ

23 .. -23,45

1 .. 00:01:14 (cả hai đều số nguyên trong YAML)

Nhưng cách ruby ​​cũng không rõ ràng vì nó không nói liệu các giá trị cuối có hay không: 10 .. 15

(bạn chỉ nói về rang es số nguyên?)

+0

Đối với câu hỏi của bạn, thậm chí dãy số nguyên sẽ làm cho tôi. Ruby phạm vi không phải là không rõ ràng. Nó có cả hai cú pháp phạm vi độc quyền bao gồm. (1..5) bao gồm; (1 ... 5) độc quyền – rpattabi

1

Andrey là đúng - không có những thứ như một phạm vi cơ bản. Phạm vi có thể được xác định trên đầu trang của các loại dữ liệu được sắp xếp hoàn toàn. YAML thậm chí không biết khái niệm đặt hàng nên không có ý nghĩa gì khi nói về các phạm vi trong YAML. YAML chỉ biết khái niệm về các loại nút, khái niệm bình đẳng và một số loại liên kết được xác định trước giữa các nút. Bằng cách này tôi không biết bất kỳ lange serialization dữ liệu khác (JSON, XML, CSV, Hessian, Protocol Buffers ...) mà nguyên bản hỗ trợ phạm vi.

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