В C++17 появляется новый синтаксис для оператора if
, позволяющий объявлять переменные прямо в заголовке блока. Это довольно удобно, поскольку конструкции вида…
Foo* foo = make_foo();
if(foo != nullptr) {
// do work with foo
}
// never use foo again
… довольно общеупотребительны. Код выше лёгким движением руки программиста (и тяжёлым движением руки комитета по стандартизации) превращается в:
if(Foo* foo = make_foo(); foo != nullptr) {
// do work with foo
}
// never use foo again (well, you can't anyway)
Стало чуть-чуть лучше, хотя всё ещё не выглядит идеально. В Python нет и такого, но если вы ненавидите if
в Python-коде так же сильно, как я, и хотите научиться быстро писать простые парсеры, то добро пожаловать под кат. В этой статье мы попытаемся написать короткий и изящный парсер для JSON на Python 2 (без каких-либо дополнительных модулей, конечно же).
Читать полностью »