class A:
...
class B[T: A]:
...
class C[T: B]:
...
или я должен использовать C [t1: a, t2: b] ?
Я понял, что c [t: b [t: a]] не разрешен.
отдельный Typevar связан с b [a] работать?
, чтобы сделать его чуть менее абстрактным и показать Использование для этого: < /p>
Скажем, у меня есть: [list] [*] класс a [*] Класс B это Параметризованный типом с верхней границей A [*] класс C , который параметризован типом с верхней границей B . [/list] Как я должен определить эти классы в Python 3.12, так что статические проверки типа наиболее успешны/правильны? [code]class A: ...
class B[T: A]: ...
class C[T: B]: ... [/code] или я должен использовать C [t1: a, t2: b] ? Я понял, что c [t: b [t: a]] не разрешен. отдельный Typevar связан с b [a] работать? , чтобы сделать его чуть менее абстрактным и показать Использование для этого: < /p> [list] [*][code]A[/code] может быть векторным типом, который я мог бы подтип в качестве вектора 2D или 3D. [*][code]B[/code] может быть геометрической формой, с подтипами, такими как линия и дуга, в 2D, 3D и т. Д. Вкусы. [*][code]C[/code] может быть объединение форм, таким образом, построить из этих 2D/3D Lines/Arcs. [/list]
Я работаю на сайте Jekyll и сталкиваюсь с ошибкой «Слишком глубокого гнездования» при попытке отображать вложенные комментарии с помощью рекурсивного включения. Вот упрощенная версия моего шаблона:
{% comment %}
Filename: comment.liquid
Comment...
Я хочу крепко упаковать структуру, но у меня был один конкретный элемент, выровненную по определенной границе. Например:
struct A {
char a;
int b;
} __attribute__((packed));