강의로 돌아가기
VLM

정말 좋은 강의 감사합니다:)

함수형에 관련한 책을 이것저것 봐도 잘 이해가 안돼고 어떻게 적용해야할 지 막막했는데, 지속적으로 참고하면서 익힐 수 있는 강의를 만난 것 같습니다!

실습 프로젝트 고도화도 한번 해봤는데 평가해주시고 피드백을 해주시면 정말로 감사할 것 같습니다:) 버튼을 누를 때 마다 해당하는 음료수가 추가되는 구조이고, 자리가 많지 않아 하나 추가하는 버튼들만 만들었습니다.

https://github.com/SooHwanChoJC/VendingMachine

  • 송치원
    참 잘했어요~ 👏 송치원 2018.10.03 14:37
1 개의 답변
송치원
    struct State {
        let money: Int
        var stock: [Int]  // var stock: [Product:Int]
        static func initial() -> State {
            return State(money: 0,stock:[10,10,10])
            // return State(money: 0, stock: [ .cola: 10, .cider: 10, .fanta: 10 ])
        }
    }

여기에서 stock을 [Product:Int] 타입으로 만들면 어떨까요?

그러면 func productCode() -> Int 는 없어도 될거고,
값 변경도 state.stock[p] - 1 처럼 사용할 수 있을겁니다.

그리고 코드의 심플함을 유지하고, 음료수 종류가 늘어나는 경우에 확장이 용이할 수 있을거라고 생각합니다.

  • VLM
    오 그렇네요 ㅎㅎ 적용해보니 좀 더 깔끔해 진 것 같습니다! 감사합니다:) VLM 2018.10.03 15:35
답변 쓰기
이 입력폼은 마크다운 문법을 지원합니다. 마크다운 가이드 를 참고하세요.