강의로 돌아가기
-

교수님 질문있습니다.

let subway2 :Set = [시청,을지로입구,을지로3가,을지로4가,동대문역사문화공원,신당,상왕십리,한양대,뚝섬,성수,건대입구,구의,강변,잠실나루,잠실,신천,종합운동장,삼성,선릉,역삼,강남,교대,서초,방배,사당,낙성대,서울대입구,봉천,신림,신대방,구로디지털단지,대림,신도림,문래,영등포구청,당산,합정,홍대입구,신촌,이대,아현,충정로]

let subway3 :Set = [지축,구파발,연신내,불광,녹번,홍제,무악재,독립문,경복궁,안국,종로3가,을지로3가,충무로,동대입구,약수,금호,옥수,압구정,신사,잠원,고속터미널,교대,남부터미널,양재,매봉,도곡,대치,학여울,대청,일원,수서,가락시장,경찰병원,오금]

let transfer = subway2.intersection(subway3) //에러 발생
let notransfer = subway2.subtract(subway3) //에러 발생 Cannot use mutating member on immutable value:'subway2' is a 'let' constant

어떻게 해야 하는거죠? ㅜㅜ

1 개의 답변
-
let notransfer = subway2.subtracting(subway3);

이렇게 하니까 에러가 사라졌구요.
완전한 해석은 아니지만
이게 삭제하는 함수같아요.
let -> var 로 바꾸면 에러가 사라집니다
함수 초이스 하실때 관련 함수들 리스트의 오른쪽에 파라미터로 줄 Set 를 확인하시고 진행해주시고
관련 함수 리스트 왼쪽편에 Void, Set... 라고 나올텐데 리턴값이 Set 으로 떨어져야하니
Set 관련 함수를 사용하시면 됩니다

답변 쓰기
이 입력폼은 마크다운 문법을 지원합니다. 마크다운 가이드 를 참고하세요.