Најинтересантније иновације:
- Израз задатка:
Нови оператор := вам омогућава да доделите вредности променљивим унутар израза. На пример:
ако (н := лен(а)) > 10:
принт(ф"Листа је предугачка ({н} елемената, очекивано <= 10)") - Аргументи само за позицију:
Сада можете одредити који параметри функције се могу проследити кроз синтаксу именованих аргумената, а који не. Пример:
деф ф(а, б, /, ц, д, *, е, ф):
принт(а, б, ц, д, е, ф)ф(10, 20, 30, д=40, е=50, ф=60) # ОК
ф(10, б=20, ц=30, д=40, е=50, ф=60) # грешка, `б` не може бити именовани аргумент
ф(10, 20, 30, 40, 50, ф=60) # грешка, `е` мора бити именовани аргументОва промена даје програмерима начин да заштите кориснике својих АПИ-ја од промена у називима аргумената функција.
- Подржава ф-стрингс = за самодокументовање израза и отклањање грешака:
Додат је шећер да поједностави отклањање грешака/регистровање порука.
н = КСНУМКС
принт(ф'Здраво свете {н=}.')
# ће одштампати "Здраво свет н=42." - Исправљена је кључна реч настављања у блоку финалли (раније није функционисала).
Остало:
- Можете експлицитно навести путању до кеша бајткода уместо подразумеваног __пицацхе__.
- Дебуг и Релеасе буилд користе исти АБИ.
Извор: линук.орг.ру