개요
오늘은 List의 fold() 메소드에 대해서 빠르게 알아봅시다.
T fold<T>(T initialValue, T combine(T previousValue, E element)) {
var value = initialValue;
for (E element in this) value = combine(value, element);
return value;
}
생신건 이렇게 생겼습니다. JAVA만 파던 저에게는 뭐하는 메소드인지 감이 잘 안잡혔습니다. 함께 알아보도록 하죠.
fold()
fold는 initialValue을 시작으로 combine 값을 연산하는 방식입니다.
간단하게 수익률을 계산하는 메소드를 만들어보겠습니다.
void main() {
double money = 1000000;
List<double> rate = [5, -3.4, 0, 1.7, -4.5];
double result = rate.fold(money,
(previousValue, element) => previousValue + (previousValue * (element / 100)),);
}
fold 첫번째 인자에는 최초 시작값을 정해줍니다. 초기자금인 1,000,000원을 최초 시작값으로 설정합니다.
두번째 인자에는 T combine(T previousValue, E element) 를 넣어줍니다.
previousValue는 이전 계산된 값이고, element는 List에서 현재 인덱스가 가리키고있는 값을 의미합니다.
즉 fold가 첫번째 iterate 를 예를 들면 1000000 + (1000000 * (5 / 100)) 가 되는 것입니다.
오늘은 간단하게 fold 메소드에 대해서 알아보았습니다.
'Language > Flutter' 카테고리의 다른 글
[Flutter] 앱 이름 변경 (0) | 2024.11.21 |
---|---|
[Flutter] 위젯 생명주기(Lifecycle) (0) | 2024.11.20 |
[Flutter] 상태 관리 기초 - setState (0) | 2024.11.18 |
[Dart] Spread 연산자(...) (0) | 2024.11.17 |
[Dart] Null Safety (0) | 2024.11.16 |