스위프트를 사용하여 한 줄에 여러 변수를 어떻게 할당합니까?스위프트에서 여러 변수 지정
var blah = 0
var blah2 = 2
blah = blah2 = 3 // Doesn't work???
스위프트를 사용하여 한 줄에 여러 변수를 어떻게 할당합니까?스위프트에서 여러 변수 지정
var blah = 0
var blah2 = 2
blah = blah2 = 3 // Doesn't work???
그렇지 않습니다. 이 언어 described in the Swift book 같은 값을 돌려 할당 표준 원치 않는 부작용을 방지하는 기능을한다 : C 대물-C에 할당 연산자 달리
, 스위프트에 할당 연산자 자체 값을 반환하지 않기 . 다음 문은 유효하지 않습니다
if x = y { // this is not valid, because x = y does not return a value }
이 기능은 연산자 (
==
)에 동일한 실제로하고자하는 경우 사고에 의해 사용되는 할당 연산자 (=
)을 방지 할 수 있습니다.x = y
이 유효하지 않은 경우, Swift는 이러한 종류의 오류를 코드에서 피할 수있게 도와줍니다.
이렇게하면 매우 일반적인 오류를 예방할 수 있습니다. 이러한 종류의 실수는 다른 언어 (예 : Yoda conditions)를 사용하여 완화 할 수 있지만 신속한 설계자는 분명히 언어 수준에서 자신을 발로 쏠 수없는 것을 확인하는 것이 더 낫다고 결정했습니다. 당신이 한 줄에 할당 할 절박한 경우에, 당신은 튜플 구문을 사용할 수
blah = blah2 = 3
,하지만 당신은 여전히 특히 각각의 값을 할당해야 할 것 : :하지만 당신이 사용할 수 없다는 뜻인가
을(blah, blah2) = (3, 3)
... 나는 그것을 추천하지 않습니다. 허용 대답이 말한대로
blah = 3
blah2 = 3
: 그냥 모든 일을 입력하면 처음에는 불편 느낄 수 있지만 것은 내 의견으로는, 갈 수있는 가장 좋은 방법입니다 당신은 그러나 당신이에서 할당 할 수 없습니다, 몇 가지 엄격한 구문을 얻을 수 있습니다 a
~ b
~ c
여러 줄을 사용하지 않아도됩니다 (안전을 위해). 다음은 한 줄에 여러 변수를 선언하고 할당하는 좀 더 간결한 구문의 예제입니다.
var red, green, blue, alpha : CGFloat
(red, green, blue, alpha) = (0.0, 0.0, 0.0, 0.0)
ledColor.getRed(&red, green: &green, blue: &blue, alpha: &alpha)
위의 코드를 설명해주십시오. 정말 해독 할 수 없었다 :) –
처음 두 줄을 이해 했습니까? –
예 ... 선언 및 과제가 있습니다. –
이것은 "초기/젊은"언어에 항상 나타나는듯한 무거운 물건입니다. 언어의 신이 주관적으로 부적절하다고 생각하는 코드를 작성하는 것을 불가능하게 만든다 (이것은 하나의 예이고, 또 다른 하나는 부동 소수점에 '0'을 접두사로 붙일 필요성이다 [let x = .5'를 신속하게 작성]). – dave
blah = 3; 깜박임 2 = 3; –