.let {}
var selectFood = selectMenu(selectNumber)
selectFood?.let{ food -> addOrder(food)}
과제에 들어갔던 문장인데 food를 addOrder(food)로 나타내는 문장이다. 일단 어떠한 자료형이든 사용할 수 있도록 해주는 형식이라고 한다. Int, String, 각종 class의 객체 등이 확장함수로 사용 가능하다고 한다.
Filter
if (categoryName != "Order" && categoryName != "Cancel") {
var foodCategory = food.filter { it.category == categoryName }
displayDetailMenu(categoryName)
필터는 리스트에 걸려있는 조건이나 수식을 알아보기 쉽게 원하는 값만 뽑아 쓸 수 있게 해준다. 과제에 들어갔던 문장인데 저기서 food는 food의 리스트이다. 그리고 여기서 filter를 써서 중괄호 열고 그안에 it으로 줄여준다. 그 후 food의 생성자 category를 호출하고 이것과 같은것을 categoryName이고 이걸 호출하는 형태이다.
Fold
val totalOrderPrice = orders.fold(0.0) {order1, order2 ->
order1 + order2.food.price
폴드는 컬렉션 내에 있는 모든 데이터를 모으는 것이고, 초기값을 지정한다. 따라서 저기에서는 orders의 초기값을 0.0으로 지정한 것이다.
오늘은 전 챕터나 과제를 하지 않고 이번 주차 강의 듣기를 시작했다. 다만 따라하기 위해 안드로이드스튜디오를 같이 켜서 했는데 오류도 뜨고 에뮬레이터 다운받는게 좀 느렸다...아무튼 내일까지 모든 강의를 듣고 다음 주까지 낼 개인 과제도 시작해봐야겠다.
'내일배움캠프' 카테고리의 다른 글
본 캠프 20일차 - Intent와 개인과제 시작 (0) | 2023.12.15 |
---|---|
본 캠프 19일차 (0) | 2023.12.14 |
본 캠프 17일차 - 지난 과제 (0) | 2023.12.12 |
본 캠프 16일차 - 컬렉션(List, Map, Set) (1) | 2023.12.11 |
본 캠프 15일차 -쓰레드 (1) | 2023.12.08 |