Выражения в управляющих операторах - PullRequest
0 голосов
/ 18 ноября 2011

Я никогда не использовал следующий вид выражений в операторах if или других управляющих структурах (пример в PHP):

if ( ( $p = someFunction() ) !== false ) {
        // Use $p
}

Я обычно вынимаю такого рода выражение присваивания и проверяю его перед проверкой в ​​операторе if.

Мои вопросы:

  • Есть ли название для этой техники?
  • После присваивания ( $ p = someFunction () ), на какие типы можно тестировать? (Например, только true / false или фактический тип, возвращаемый someFuntion)?
  • Рекомендовано ли это и безопасно ли его использовать с большинством языков и ожидать сходного поведения?

1 Ответ

0 голосов
/ 18 ноября 2011

Вы могли бы назвать его, используя возвращаемое значение выражения присваивания?

Почему вы спрашиваете это вообще? Вы должны проверить, поддерживает ли ваш язык этот вид кода. Большинство языков, подобных Си, возвращают значение, присвоенное переменной слева, поэтому оно может быть любого типа.

...