swift 교재 내 reduce 질문드립니다!

1 답변 글타래를 보이고 있습니다
  • 글쓴이
    • asdfaa22
      참가자
      • 글작성 : 1
      • 답글작성 : 0
      1,060 포인트

      15.3장의 리듀스를 공부하고 있어요.

      코드 15-7을 보면 홀수는 걸러내고 짝수만 두배로 변경하여 배열에 연산하는 코드인데,

      var doubledNumbers: [Int] = numbers.reduce(into: [1, 2]) { (result: inout  [Int], next: Int) in

      print(“result” (result) next: (next))”

      guard next.is else {

      return }

      result append(next * 2) 

      }

      에서, 중간에 guard ~ else  사이에 next.is가 있는데

       Int타입에서 is메서드는 없다고 에러가 뜨네요(플레이그라운드)

       이게 어떤건지 설명 해주실 수 있나요?

    • 오동나무
      참가자
      • 글작성 : 0
      • 답글작성 : 10
      1,800 포인트

      오타인 것 같습니다!

      next.is -> next.isMultiple(of: 2)

      로 변경하면 알맞은 로직이 됩니다 🙂

      avatar
1 답변 글타래를 보이고 있습니다
  • 답변은 로그인 후 가능합니다.

logo landscape small

사업자번호 : 260-27-00477
통신판매업 신고번호 : 제 2020-충북청주-0663 호
고객센터 : 카카오톡채널 @yagom