diff options
| author | ven <vendethiel@hotmail.fr> | 2015-11-08 21:39:41 +0100 | 
|---|---|---|
| committer | ven <vendethiel@hotmail.fr> | 2015-11-08 21:39:41 +0100 | 
| commit | 2b2a4a9ae01f8c2d318a206bcfbb453a2e8079b2 (patch) | |
| tree | 0b1ba7d3943acc9459f8d4dd7569fd2416e99310 | |
| parent | 3cbe135ae210ebf9744caa6f299302f42f87fbc2 (diff) | |
| parent | d5e0a9fbf87e80427850e06511f768c19ebf74d7 (diff) | |
Merge pull request #2006 from jargnar/more-yaml-stuff
Add more complex key examples, and an example of inheritance
| -rw-r--r-- | yaml.html.markdown | 31 | 
1 files changed, 28 insertions, 3 deletions
| diff --git a/yaml.html.markdown b/yaml.html.markdown index 6e3e2c94..62f08fb9 100644 --- a/yaml.html.markdown +++ b/yaml.html.markdown @@ -3,6 +3,7 @@ language: yaml  filename: learnyaml.yaml  contributors:    - ["Adam Brenecki", "https://github.com/adambrenecki"] +  - ["Suhas SG", "https://github.com/jargnar"]  ---  YAML is a data serialisation language designed to be directly writable and @@ -66,14 +67,19 @@ a_nested_map:  # Maps don't have to have string keys.  0.25: a float key -# Keys can also be multi-line objects, using ? to indicate the start of a key. +# Keys can also be complex, like multi-line objects +# We use ? followed by a space to indicate the start of a complex key.  ? |      This is a key      that has multiple lines  : and this is its value -# YAML also allows collection types in keys, but many programming languages -# will complain. +# YAML also allows mapping between sequences with the complex key syntax +# Some language parsers might complain +# An example +? - Manchester United +  - Real Madrid +: [ 2001-01-01, 2002-02-02 ]  # Sequences (equivalent to lists or arrays) look like this:  a_sequence: @@ -101,12 +107,31 @@ json_seq: [3, 2, 1, "takeoff"]  anchored_content: &anchor_name This string will appear as the value of two keys.  other_anchor: *anchor_name +# Anchors can be used to duplicate/inherit properties +base: &base +    name: Everyone has same name + +foo: &foo +    <<: *base +    age: 10 + +bar: &bar +    <<: *base +    age: 20 + +# foo and bar would also have name: Everyone has same name +  # YAML also has tags, which you can use to explicitly declare types.  explicit_string: !!str 0.5  # Some parsers implement language specific tags, like this one for Python's  # complex number type.  python_complex_number: !!python/complex 1+2j +# We can also use yaml complex keys with language specific tags +? !!python/tuple [5, 7] +: Fifty Seven +# Would be {(5, 7): 'Fifty Seven'} in python +  ####################  # EXTRA YAML TYPES #  #################### | 
