概要
在路線和列車的檔案,你將會經常遇到數字。例如整數 (Integer)、浮點數 (Floating-point number) 和時間。這些數字都必須遵守一個指定的格式,而這頁就會介紹它們的格式。
如果你曾經學過電腦程式語言 (例如 C、Pascal、PHP) 的話,這頁介紹的就是 openBVE 為數字所設下的資料形態 (Data type)。
openBVE 對數字提供了兩種解析方法 (Parsing method):嚴格 (Strict) 和寬鬆 (Loose)。嚴格方法是一個非常嚴厲的規格,它不能在數字中留下空白字元。這個方法是用於所有新的格式 (即不是繼承自 BVE Trainsim 的格式)。而寬鬆方法是一個舊式的解析模型 (Parsing model),使 openBVE 能與 BVE Trainsim 的現存作品相容。
不論何時,即使該檔案規定對數字的解析方法是寬鬆,你仍可以使用嚴格方法。因為嚴格方法是寬鬆方法的子集。
整數
嚴格
只准一個十進制的數字,數字必須使用 0 至 9 (U+0030 – U+0039) 的字元來表示,可視乎需要在前方加上負號 (U+002D)。數字的前後可以加上空白字元。
0
123
-98
寬鬆
所有在數字間的空白字元會先在解析時被移除。然後剩餘的字符會按照嚴格方法來解析。如果不能建立一個有效的數字,最後一個字符會被移除,然後再次按照嚴格方法來解析。這個過程會不斷繼續,直至一個有效的數字能被建立或所有字元都被移除。如果所有字元都被移除的話,這個數字就被稱為無效數字。
12 345
123
-987x456
12345
123
-987
浮點數
嚴格
只准一個十進制的數字,數字必須使用 0 至 9 (U+0030 – U+0039) 的字元來表示,可視乎需要在前方加上負號 (U+002D) 和在數字中加上小數點 (U+002E)。數字的前後可以加上空白字元。
123
123.
123.456
0.456
.456
-123.456
寬鬆
所有在數字間的空白字元會先在解析時被移除。然後剩餘的字符會按照嚴格方法來解析。如果不能建立一個有效的數字,最後一個字符會被移除,然後再次按照嚴格方法來解析。這個過程會不斷繼續,直至一個有效的數字能被建立或所有字元都被移除。如果所有字元都被移除的話,這個數字就被稱為無效數字。
-123 . 456
987,333
-123.456
987
時間
舊式
以下是一些允許的時間數列:
hhh.mmss
hhh.mms
hhh.mm
hhh.m
hhh
在以上的時間數列中:
hhh
是代表最少有一個十進制的數字,表示小時。mm
是代表一個兩位數字,表示分鐘。m
是代表一個個位數字,表示分鐘。ss
是代表一個兩位數字,表示秒。s
是代表一個個位數字,表示秒。
所有的數字必須使用 0 至 9 (U+0030 – U+0039) 的字元來表示。分隔小時和分鐘之間的字元為一個半形點號 (U+002E)。數字的前後所加上的空白字元不會被解析。
時間由子夜開始計算。如果分鐘和秒未被定義,它們會被當作 0 來處理。小時需為正數,亦可以大於或等如 24 以表示翌日的時間。
13.2634
08.5900
25.0318
以下是以上例子中的時間:
- 下午 1 時 26 分 34 秒
- 上午 8 時 59 分 0 秒
- 翌日上午 2 時 3 分 18 秒