In the 3rd YAML parsing task, we’re going to look into lists.
(Remember that in this mission you must take into account the conditions of previous missions. It means that your solution should work with dictionaries from a previous mission and with lists from this one).
A simple example:
- write some - "Alex Chii" - 89
[ "write some", "Alex Chii", 89 ]
As you can see in the above example, the format for values is the same as we’ve used in the previous task for the format of values in the dictionary.
It's time to add comments to the format.
Everything indicated after the # sign should be ignored by the parser.
# comment - write some # after # one more - "Alex Chii #sir " - 89 #bl
[ "write some", "Alex Chii #sir ", 89 ]
As you may have noticed, the comments inside the string aren’t considered as comments, they are treated as part of the string, which makes sense.
Input: Format string.
Output: An object (list/dictionary).
assert yaml('- write some\n- "Alex Chii"\n- 89') == ["write some", "Alex Chii", 89] assert yaml( '# comment\n- write some # after\n# one mor\n- "Alex Chii #sir "\n- 89 #bl' ) == ["write some", "Alex Chii #sir ", 89] assert yaml("- 1\n- 2\n- 3\n\n- 4\n\n\n\n- 5") == [1, 2, 3, 4, 5] assert yaml("-\n-\n-\n- 7") == [None, None, None, 7]
Precondition: The YAML 1.2 standard is being used.
CheckiO Extensions allow you to use local files to solve missions. More info in a blog post.
In order to install CheckiO client you'll need installed Python (version at least 3.8)
Install CheckiO Client first:
pip3 install checkio_client
Configure your tool
checkio --domain=py config --key=
Sync solutions into your local folder
(in beta testing) Launch local server so your browser can use it and sync solution between local file end extension on the fly. (doesn't work for safari)
checkio serv -d
Alternatevly, you can install Chrome extension or FF addon
checkio install-plugin --ff
checkio install-plugin --chromium