2010-07-26 74 views
6

我可以表達如何在YAML中指定範圍?

第三頁是標題頁

在YAML

title: 3 

怎麼樣以下?

10至15頁包含第1章

一種方法是

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

我會喜歡這裏的範圍。 YAML中有這樣的東西嗎?

chapter 1: (10..15) 

** **更新

以下將是我的選擇,如果有是範圍YAML

chapter 1: 
    start page: 10 
    end page: 15 
沒有這樣的事情
+0

爲什麼不只是'第1章:[10,15]'?然後在Ruby中創建一個將列表轉換爲範圍的函數? – hirolau 2016-08-06 14:02:45

回答

11

沒有指定在YAML範圍直接的方式,但是一些YAML可以存儲序列化對象,例如在Ruby中:

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

Look here

+0

Thx。但這對我並不好。我很驚訝在YAML規範中沒有想到這麼簡單的事情。或者可能是所有的紅寶石主義者認爲範圍是這樣一個基本的東西! :-) – rpattabi 2010-07-26 17:17:29

+0

你在用什麼語言? – 2010-07-26 17:55:54

+0

我正在使用Ruby。但我寧願讓這個yaml文件易於編輯用戶。 !ruby/range會嚇到用戶。 – rpattabi 2010-08-10 07:12:55

3

範圍是特定於應用程序的。以下可以用於一些應用中是有意義的:

-1。Q

一個..Щ

23 .. -23.45

1 .. 12時01分14秒(都是在整數YAML)

但紅寶石方式也不清楚,因爲它沒有說最終值是否包括或不包括:10 ... 15

(你只談論響整數?)

+0

對於你的問題,即使是整數範圍也適合我。紅寶石的範圍並不清楚。它有兩個包含獨佔範圍的語法。 (1..5)包括在內; (1 ... 5)獨佔 – rpattabi 2010-08-10 07:10:30

1

安德烈是對的 - 沒有這樣的東西作爲基本範圍。範圍可以在之上定義完全排序的數據類型。 YAML甚至不知道排序的概念,因此在YAML中討論範圍是沒有意義的。 YAML只知道節點類型的概念,平等的概念以及節點之間的一些預定義類型的鏈接。順便說一下,我不知道本地支持範圍的任何其他數據序列化語法(JSON,XML,CSV,Hessian,Protocol Buffers ...)。

相關問題