Поддерживает ли Cython троичный стиль оператора if (if? Then: else)? - PullRequest
1 голос
/ 14 декабря 2010

Я забыл технический термин для формата (if ? then : else) в C / C ++.Кроме того, этот синтаксис поддерживается в Cython (вариант C Python)?

Мне нужно знать техническое имя, чтобы я мог посмотреть, поддерживает ли Cython эту функцию.

UPDATE: Кто-нибудь знает, поддерживает ли это Cython?

Решение : В cython / python это записывается как (b if a else c) по сравнению с (a ? b : c)

Ответы [ 3 ]

7 голосов
/ 14 декабря 2010

Это называется троичным условным оператором. Его часто просто называют троичным оператором, но быть троичным не обязательно (но на практике обычно) уникально для условного оператора.

РЕДАКТИРОВАТЬ: Что касается того, поддерживает ли Cython (x ? y : z), он не основывается на предварительном поиске в Google. Но Python (и теоретически Cython, я думаю? Disclaimer: я не использую Cython) поддерживает тот же результат (выражение if / else) с (y if x else z). РЕДАКТИРОВАТЬ 2: Документация Cython, которую я нашел, говорит, что она работает так же, как в обычном Python.

1 голос
/ 14 декабря 2010

Его часто называют троичным оператором, или встроенным, если.

0 голосов
/ 14 декабря 2010

троичный оператор.

...