Tag: 语言function

function性镜头

有人可以向我解释function镜头吗? 这是一个令人惊讶的困难的主题谷歌,我没有取得任何进展。 我所知道的是他们提供了类似的获取/设置function比OO。

函数式编程有什么好处?

你认为函数式编程的好处是什么? 他们今天如何申请程序员? 函数式编程和OOP之间最大的区别是什么?

python内部类的目的是什么?

Python的内部/嵌套类混淆了我。 没有他们的东西是不可能实现的吗? 如果是这样,那是什么东西?

纯function地图和集合的统计performance

给定一个数据结构规范,如具有已知复杂性界限的纯函数映射,必须在几个实现之间进行select。 有一些关于如何挑选合适的民间传说,例如红黑树通常被认为是更快的,但AVL树在工作量方面有更好的performance,并且有很多的查找。 是否有这种知识的系统介绍(出版论文)(与集合/地图有关)? 理想情况下,我希望看到在实际软件上进行统计分析。 例如,可以得出结论:有N种典型的地图使用情况,并列出每种地图的input概率分布。 是否有系统的基准testing图,并设置不同分布的input性能? 是否有实现使用自适应algorithm来改变表示取决于实际使用情况?

.map,.every和.forEach有什么区别?

我一直在想他们之间的区别是什么。 他们似乎都做同样的事情…

你怎么知道什么时候使用折叠和什么时候使用折叠的权利?

我知道折叠产生左倾的树木,右折产生右倾的树木,但是当我到达折叠的时候,有时我发现自己陷入头痛的思考,试图确定哪种褶皱是合适的。 我通常最终解开整个问题,并逐步实现fold函数,因为它适用于我的问题。 所以我想知道的是: 确定是折叠还是折叠,有哪些经验法则? 鉴于我面临的问题,如何快速决定使用哪种types的折叠? 在Scala中有一个例子(PDF)使用fold来写一个叫做flatten的函数,它将元素列表连接成一个列表。 在这种情况下,正确的select是正确的select(考虑到列表的连接方式),但是我必须考虑一下才能得出结论。 由于折叠在(function)编程中是一种常见的行为,所以我希望能够迅速而自信地作出这种决定。 那么…任何提示?

函数可以在Go中作为parameter passing吗?

在Java中,我可以做一些像derp(new Runnable { public void run () { /* run this sometime later */ } })然后在方法中运行代码。 处理(匿名内部类)是一件痛苦的事,但是可以做到。 Go有什么可以促进作为参数传入的函数/callback吗?

奇怪的行为为地图,parseInt

可能重复: javascript – Array.map和parseInt 我在twitter上看到了这个奇怪的JavaScript行为的例子 ['10','10','10','10','10'].map(parseInt) 评估 [10, NaN, 2, 3, 4] 有人可以解释这种行为吗? 我用铬和萤火虫来validation它 ['10','10','10','10','10'].map(function(x){return parseInt(x);}) 正确地返回一个10的数组作为整数。 这是不正确的使用map(),parseInt的bug还是别的?

实施types推断

我在这里看到关于静态和dynamictypes的一些有趣的讨论。 我通常更喜欢静态types,因为编译types检查,更好的文档代码等等。但是,我同意,如果按照Java的方式完成代码,它们会混淆代码。 所以我即将开始构build自己的函数式语言,而types推断就是我想要实现的东西之一。 我明白,这是一个很大的主题,我不是要创造一个以前没有做过的事情,只是基本的推理… 任何指示什么读取将帮助我与此? 最好是更实用/实用的东西,而不是更多的理论类别理论/types理论文本。 如果有一个实现的讨论文本,数据结构/algorithm,这将是可爱的。

最好的JavaScript语法糖

这里有一些gem: 文字: var obj = {}; // Object literal, equivalent to var obj = new Object(); var arr = []; // Array literal, equivalent to var arr = new Array(); var regex = /something/; // Regular expression literal, equivalent to var regex = new RegExp('something'); 默认值: arg = arg || 'default'; // if arg evaluates […]