0. 창업

[부트캠프] 2주차 2 - 함수형 프로그래밍 연습

마켓플레이어, 마케터 봉 2025. 3. 11. 15:09

void main() {
  List<int> numbers = [1, 2, 3, 4, 5];
  var number1 = numbers.map((n) => n * 2);
  var result1 = number1.where((n) => n > 5);
  print(result1);

  var result11 = numbers.map((n) => n * 2).where((n) => n > 5);
  print(result11);

  var number2 = numbers.where((n) => n.isEven);
  var multiple2 = number2.map((n) => n * n);
  var result2 = multiple2.reduce((a, b) => a + b);
  print(result2);

  var result22 = numbers
      .where((n) => n.isEven)
      .map((n) => n * n)
      .reduce((a, b) => a + b);
  print(result22);

  //---

  List<String> words = ['a', 'dsf', 'fewfa', 'sdf', 'asdfkh', 'sdfhaskj'];
  var longword3 = words.where((w) => 5 < w.length);
  var result3 = longword3.map((w) => w.toUpperCase());
  print(result3);

  var result33 = words.where((w) => w.length > 5).map((w) => w.toUpperCase());
  print(result33);

  //---

  var number4 = numbers.where((n) => n.isEven);
  var result4 = number4.reduce((a, b) => a + b);
  print(result4);

  var result44 = numbers.where((n) => n.isEven).reduce((a, b) => a + b);
  print(result44);

  var number5 = numbers.where((n) => n < 5);
  var result5 = number5.reduce((a, b) => a * b);
  print(result5);

  var result55 = numbers.where((n) => n < 5).reduce((a, b) => a * b);
  print(result55);

  //---

  List<int> points = [-10, -5, 0, 3, 7, 6, 5, 8];
  var point = points.where((p) => p > 0);
  var plus = point.map((p) => p + 10);
  var result6 = plus.fold(0, (a, b) => a + b);
  print(result6);

  var result66 = points
      .where((p) => p > 0)
      .map((p) => p + 10)
      .fold(0, (a, b) => a + b);
  print(result66);
}

반응형