Обновление версии AIL 2.2 Klee
2022-3-12
AIL 2.2 предоставляет более подробную информацию об ошибках синтаксиса и повышает общую стабильность.
Версия AIL 2.2 начинает адаптацию некоторых функций к Python 3.10, при этом исходный код будет максимально совместим с Python 3.7 и оптимизирован для работы с Python 3.10.
Подробности обновления версии Python 3.10: py3.10.
Новая версия AIL 2.2 обеспечивает более чёткую и подробную информацию о сообщениях об ошибках синтаксиса. Новые добавленные сообщения об ошибках включают, но не ограничиваются следующим:
В новой версии AIL при возникновении ошибки синтаксиса AIL указывает приблизительное расположение ошибки:
>> a = match x {};
File "<shell>", line 1
a = match x {};
^
SyntaxError: match body cannot be empty
В новой версии AIL будет выдано сообщение об ошибке при несовпадении скобок:
>> a = (1, 2];
File "<shell>", line 1
a = (1, 2];
^
SyntaxError: closing parenthesis ']' does not match opening parenthesis '(' (at line 1, col 6)
В новой версии AIL выдаётся подробное сообщение об ошибке, если строка не завершена:
>> name = 'klee
File "<shell>", line 1
name = 'klee
^
SyntaxError: unterminated string literal (detected at line 1)
Модуль maptools добавляет функции xmapwith и traverse.
В AIL shell версии 2.2 Klee alpha 2 [727] (2.2/d24235a) (Python 3.8.0 (default, Dec 5 2019, 10:53:43) [Clang 8.0.7 (https://android.googlesource.com/toolchain/clang b55f2d4ebfd35bf6)] отображаются commit id и branch:
AIL 2.2 Klee alpha 2 [727] (2.2/d24235a) (Python 3.8.0 (default, Dec 5 2019, 10:53:43)
[Clang 8.0.7 (https://android.googlesource.com/toolchain/clang b55f2d4ebfd35bf6)
Type 'help(...)', '$help', 'copyright()', 'python_copyright()' to get more information, 'exit()' to exit.
>>
Оператор not in можно использовать для быстрой проверки наличия элемента в итерируемом объекте:
>> knights_of_favonius = ['Jean', 'Kaeya', 'Eula', 'Amber', 'Rosaria', 'Klee'];
>> 'Klee' not in knights_of_favonius;
False
>> 'Diona' not in knights_of_favonius;
True
>>
>> 1 not in [1, 2, 4, 8, 16];
False
>> 'a' not in 'Jean';
False
>>
Примечание: По сравнению с выражением not ... in ..., использование оператора not in может повысить эффективность выполнения программы.
Тернарный оператор if-else позволяет выбрать значение в одном выражении:
>> passed = true
>> result = 'OK' if passed else 'FAILED'
>> result
OK
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )