functional-programming - Dart 是否支持函数式编程?

标签 functional-programming dart

Google Dart 语言是否允许进行函数式编程?特别是,是否支持以下功能?

  • 存储为变量(引用)的函数,
  • 功能性柯里化(Currying),
  • 惰性参数

  • 函数式编程的其他特点?

    看起来 Dart 不支持不可变数据。

    最佳答案

    Dart 具有一流的功能并支持许多函数式编程结构。以下是一些将函数分配给变量和柯里化(Currying)函数的示例:

    main() {
      f1(x) => x * 2;         // Define the function f1
      var f2 = f1;            // Assign f1 to the variable f2
      print(f2(7));           // Feel free to call f2 like any other function
    
      add(a) => (b) => a + b; // Curried addition
      print(add(3)(4));       // Calling curried addition
    
      var add3 = add(3);      // Combining the
      print(add3(2));         //  concepts
    }
    

    正如预期的那样,这会产生:

    14
    7
    5

    我不相信惰性参数是可能的,并且您已经注意到显然存在可变数据。

    关于functional-programming - Dart 是否支持函数式编程?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16746807/

    相关文章:

    list - 整数列表中最长子序列的长度

    json - 如何添加utf8解码器解决flutter http请求乱码问题?

    flutter - 有没有办法为输入装饰前缀图标设置主题?

    javascript - 'currying' 和 'composition' 在 Javascript 中是同一个概念吗?

    r - 如何对分组拆分产生的矩阵列表中的数据进行重新绑定(bind)、排列和格式化

    dart - flutter 将值设置为文本字段

    flutter - 在flutter中使用Google Cloud pub sub实现MQTT

    flutter - 如何在Flutter网站上获取本地时区?

    functional-programming - Common Lisp 中具有默认值的可选函数参数

    javascript - 解决这类问题需要研究什么?