Быстрое добавление не работает, если оно помещено после нулевого оператора объединения

#ios #swift

#iOS #swift

Вопрос:

Я понимаю, что основная проблема может быть связана с тем, что система не понимает приоритета, но я не уверен на 100%. Кто-нибудь понимает, почему следующий код устанавливает значение q = 1.

 var i: Int? = 1
var v = 2
let q = i ?? 0   v
 

когда я меняю последнюю строку на:

 let q = (i ?? 0)   v
 

тогда это работает хорошо. Я понимаю, что имеет более высокий приоритет, чем ?? согласно этому источнику, но это не имеет смысла в этом уравнении

Комментарии:

1. Кажется, вы уже нашли ответ. » имеет более высокий приоритет, чем ??». Что вас смущает?

2. Да, я думаю, я просто хотел проверить, в правильном ли направлении я думал здесь.

Ответ №1:

После подтверждения я теперь удовлетворен тем, что это связано с тем, что имеет более высокий приоритет над ?? . Помещение кода внутрь () помогло мне контролировать приоритет при вычислении