functional-programming相关内容
我似乎找不到单声道的编译器/插件.有吗? 解决方案 转到这里并下载 fsharp.zip 解压并打开创建的文件夹 打开终端并以 root 身份运行 ./install-mono.sh(在某些系统上,需要将该脚本中的换行符从 CRLF 转换为 LF) 这将为您提供基本功能,这意味着您将能够运行“mono fsi.exe"并将 F# 应用程序编译为“mono myApp.exe".
..
..
IntStream、DoubleStream 或 LongStream 如何优于 Java 8 中的常规流? 这些线程是否具有高性能或可用性? 解决方案 Stream 等必须使用装箱值(Integer 而不是原始 int) 会占用更多内存,并且通常需要大量装箱/拆箱操作(取决于您的代码).为什么只有 Int/Double/Long?只是因为它们被期望最常使用.
..
我正在尝试了解新的 Java 8 Stream API. http://docs.oracle.com/javase/tutorial/集合/流/reduction.html 我找到了使用 collect API 查找数字平均值的示例.但我觉得,同样可以使用 reduce() 来完成. 公共类测试{公共静态无效主要(字符串[]参数){//使用收集System.out.println(
..
流a = Stream.of("一", "三", "五");流b = Stream.of("二", "四", "六"); 我需要做什么才能使输出如下? //一个//二//三//四个//五//六 我查看了 concat 但正如 javadoc 解释的那样,它只是一个接一个地附加,它不会交错/穿插. 流out = Stream.concat(a, b);out.forEach(Sy
..
我正盯着一些我试图将其转换为纯函数式风格的命令式代码.基本上在 inputSet 上有一个迭代的 for 循环,我在其中检查 3 个谓词并根据哪个谓词匹配填充 3 个 outputSets.输出集可以重叠.如何使用 Java 8 流/映射/过滤器/等以纯函数方式执行此操作? 解决方案 最简单的解决方案(除了保持原样更容易)是创建三个单独的流: 设置set1 = inputSet.stre
..
我正在尝试将 for 循环 转换为功能代码.我需要向前看一个值,也需要向后看一个值.可以使用流吗?以下代码是将罗马文本转换为数值.不确定带有两个/三个参数的 reduce 方法是否可以提供帮助. int previousCharValue = 0;整数 = 0;for (int i = 0; i
..
此代码有效(取自 Javadoc): 列表数字 = Arrays.asList(1, 2, 3, 4);字符串 commaSeparatedNumbers = numbers.stream().map(i -> i.toString()).collect(Collectors.joining(", ")); 这个不能编译: int[] 数字 = {1, 2, 3, 4};字符串 commaS
..
我正在玩 Java SE 8 中的惰性函数操作,我想 map 一个索引 i 到一对/元组 (i, value[i]),然后根据第二个 value[i] 元素进行 filter,最后只输出索引. 我还必须忍受这个吗:什么相当于 C++ 对 在 Java 中? 在 lambda 和流的大胆新时代? 更新:我提出了一个相当简化的示例,@dkatzel 在以下答案之一中提供了一个简洁
..
如果我想创建一个包含表单的功能组件,例如登录,并且我想包含 App 组件中的状态并且 Login 将是它的子组件,我可以使用中的表单来改变 App 中的状态吗?登录孩子? 解决方案 是的.将两个 props 一个对象 data 和一个方法 onChange 从 App 传递给 Login.data 将在 Login 中设置表单的值. 如果 Login 表单有任何更改,则使用更新的表单
..
我有下面的数组,每个元素都有另一个名为 FunctionalityChildren 的数组,我需要找到包含属性 ActionFull 的唯一对象等于一个变量,例如'/budget/allocation' 或'/预算" 让 bigArray = [{“功能ID":114,“名称":“普通登记册","操作": "/general-register","图标": "settings_input_com
..
我正在尝试处理列表中的三元组.当务之急,我可以这样做: for(i = 1; i
..
我发现以下内容很奇怪.再说一次,我主要在动态语言中使用闭包,这不应该被同一个“错误"怀疑.以下使编译器不高兴: VoidFunction t = delegate { int i = 0;};诠释 i = 1; 上面写着: 名为“i"的局部变量不能在此范围内声明,因为它会给'i'赋予不同的含义,已在“孩子"中使用表示其他东西的范围 所以这基本上意味着在委托中声明的变量将具有在其中声
..
您能否在创建时不指定实例的情况下创建实例方法的委托?换句话说,您能否创建一个“静态"委托,将调用该方法的实例作为其第一个参数? 例如,如何使用反射构造以下委托? Func= i=>i.ToString(); 我知道我可以使用 methodInfo.Invoke,但这会比较慢,并且在调用它之前不会检查类型正确性. 当您拥有特定静态方法的MethodInfo时,可以使用Delegate
..
Java 标准库是否有任何功能性数据结构,如不可变 Sets、Lists 等,具有功能更新? 解决方案 Functional java 有 集合、列表和更多有趣的抽象.
..
在斯坦福 Scala 课程中,我遇到了以下作业: 练习 1 – 集合为函数: 在本练习中,我们将集合表示为从 Ints 到 Booleans 的函数: type Set = Int =>布尔值 a) 编写一个函数“set",它接受一个 Int 参数并返回一个包含该 Int 的 Set. b) 编写一个“包含"函数,该函数接受一个 Set 和一个 Int 作为参数,如果 Int
..
我听说过很多关于函数式反应式编程的内容,并决定看看有什么大不了的.通过 bacon.js 文档,似乎主要区别在于,我没有在组件上设置事件侦听器,而是在其上创建事件流,并将事件处理程序传递到流中.换句话说,我真正做的只是将事件处理程序从组件移动到事件流.是这样吗?如果是这样,这样做的最大优势是什么? 解决方案 是吗? 没有.这是关于拥有事件流.最后你仍然会为它们附加监听器来执行效果
..
我是函数式编程的新手,我的任务是计算列表的部分总和.例如.- psum [1,1,1,1,1];val it = [1,2,3,4,5] : int 列表 到目前为止,这是我的代码.但是在函数 psum2[L] 中,我不知道如何遍历每个值并将它们相加,所以我只打印列表. fun psum2(L) : int list =如果 L=nil 则 []否则 L;有趣的 pSum(L) : int
..
阅读 这个 所以,与其问函数式编程和过程式编程有什么区别,我想,也许我熟悉的一种语言可以作为一个例子. 因此,我的问题是:R/SAS 语言被认为是程序性的还是功能性的? 解决方案 R 主要是一种函数式编程语言.它确实有一些例外情况是通过副作用完成的,因此它的功能不如 Haskell.尽管如此,如果您不愿意调整您的编程风格以使用函数,那么您将很难编写高效的 R 代码.(我写这个答
..
随机示例:给定以下 [Maybe [a]], x = [Just [1..3], Nothing, Just [9]] 我想通过3层映射f = (^2),从而得到 [只是 [1,4,9],Nothing,Just [81]] 最简单的方法似乎是 (fmap .fmap .fmap) (^2) x where fmap .地图.fmap 类似于 fmap,但它有 3 层深. 我怀疑
..