Как избежать% в String.Format?

У вас нет.

Это языковая функция для предотвращения стандартного нежелательного побочного эффекта присваивания, возвращающего значение, как , описанного в книге Swift :

В отличие от оператора присваивания в C и Objective-C, оператор присваивания в Swift сам не возвращает значение. Следующая инструкция недействительна:

   if x = y {
       // this is not valid, because x = y does not return a value
   }

Эта функция запрещает использование оператора присваивания (=) случайно, когда на самом деле предназначен оператор, равный оператору (==). Если x = y недействителен, Swift помогает избежать таких ошибок в вашем коде.

blockquote>

Таким образом, это помогает предотвратить эту чрезвычайно распространенную ошибку. Хотя эту ошибку можно смягчить на других языках, например, используя условия Yoda - дизайнеры Swift, по-видимому, решили, что лучше сделать определенные на уровне языка, которые вы не могли бы снимать себя в ногу. Но это означает, что вы не можете использовать:

blah = blah2 = 3

Если вы отчаянно нуждаетесь в выполнении задания в одной строке, вы можете использовать синтаксис кортежа, но вам все равно придется назначать каждый значение:

(blah, blah2) = (3, 3)

... и я бы не рекомендовал его. Хотя сначала может показаться неудобным, просто набрав все это, это, на мой взгляд, лучший способ:

blah = 3
blah2 = 3

391
задан HugoTeixeira 18 August 2018 в 07:19
поделиться