TIL(Today I Learned)

12월 11일(금)

학습내용

  • 구조체는 init을 반드시 구현해주지 않아도 된다.
  • 문서화 주석은 세개의 슬래시를 사용하고 이외의 주석은 두개의 슬래시만 사용한다.
  • guard let 에서 변수형을 생략할 수 있다.
    • guard let operand: Int = Int(operandBuffer, radix: 2) {…}
    • guard let operand = Int(operandBuffer, radix: 2) {…}

문제점/고민한점

  • 반환 값이 있는 함수(pop 함수)를 호출하고, 반환 값을 사용하지 않으면 “Result of call to ‘pop()’ is unused”라는 경고가 나타나는데 이를 해결하려면 어떻게 해야하지?

해결방법

  • 반환 값이 있는 함수(pop 함수)를 호출하고, 반환 값을 사용하지 않으면 “Result of call to ‘pop()’ is unused”라는 경고가 나타나는데 이를 해결하려면 어떻게 해야하지?
    • 원래는 ‘_ = operandStack.pop()’ 이런식으로 반환 값을 처리했었다.
    • 하지만 이 방법은 적절하지 않다고 도미닉이 알려주었고, 다른 방법을 찾아보았다.
    • pop 함수 선언 앞에 @discardableResult를 추가하면 반환 값을 처리해주지 않아도 경고가 나타나지 않는다.
    • @discardableResult func pop() → String {}