Clarify no-duplicates in syntaxes.
This commit is contained in:
parent
0aa7218523
commit
0365fd8c36
|
@ -221,7 +221,8 @@ label-`Value` followed by its field-`Value`s.
|
|||
curly-brace-enclosed colon-separated pairs of values. `Set`s are
|
||||
written either as one or more values enclosed in curly braces, or zero
|
||||
or more values enclosed by the tokens `#set{` and
|
||||
`}`.[^printing-collections]
|
||||
`}`.[^printing-collections] It is an error for a set to contain
|
||||
duplicate elements or for a dictionary to contain duplicate keys.
|
||||
|
||||
Sequence = "[" *Value ws "]"
|
||||
Dictionary = "{" *(Value ws ":" Value) ws "}"
|
||||
|
@ -596,16 +597,16 @@ are two `Value`s in each key-value pair.
|
|||
Format C (streaming):
|
||||
|
||||
[[ [X_1...X_m] ]] = open(2,1) ++ [[X_1]] ++...++ [[X_m]] ++ close()
|
||||
[[ #set{X_1...X_m} ]] = open(2,2) ++ [[X_1]] ++...++ [[X_m]] ++ close()
|
||||
[[ #set{E_1...E_m} ]] = open(2,2) ++ [[E_1]] ++...++ [[E_m]] ++ close()
|
||||
[[ {K_1:V_1...K_m:V_m} ]] = open(2,3) ++ [[K_1]] ++ [[V_1]] ++...
|
||||
++ [[K_m]] ++ [[V_m]] ++ close()
|
||||
|
||||
Applications may use whichever format suits their needs on a
|
||||
case-by-case basis.
|
||||
|
||||
There is *no* ordering requirement on the `X_i` elements or
|
||||
There is *no* ordering requirement on the `E_i` elements or
|
||||
`K_i`/`V_i` pairs.[^no-sorting-rationale] They may appear in any
|
||||
order.
|
||||
order. However, the `E_i` and `K_i` must be pairwise distinct.
|
||||
|
||||
[^no-sorting-rationale]: In the BitTorrent encoding format,
|
||||
[bencoding](http://www.bittorrent.org/beps/bep_0003.html#bencoding),
|
||||
|
|
Loading…
Reference in New Issue