Tag: 语言function

意想不到的types与简单的老分类

上个星期我的一个朋友提出了一个看似无害的Scala语言问题,我没有很好的答案:是否有一种简单的方法来声明属于某种常见types类的东西的集合。 当然在Scala中没有“types类”的一stream概念,所以我们必须从特征和上下文边界(即含义)的angular度来思考这个概念。 具体来说,给定表示typestypes的一些特征T[_]以及范围为T[A] , T[B]和T[C]相应含义的typesA , B和C ,我们想要声明类似List[T[a] forAll { type a }] ,我们可以将A , B和C实例逍遥法外。 这在斯卡拉当然不存在; 去年的一个问题更深入地讨论了这个问题 。 自然的后续问题是“Haskell怎么做?” 那么,GHC特别是有一个types系统扩展称为Impandicative多态性 ,在“Boxytypes”论文中描述。 简而言之,给定一个typesT可以合法地构build一个列表[forall a. T a => a] [forall a. T a => a] 。 给定这种forms的声明,编译器会做一些字典传递的魔法,让我们在运行时保留对应于列表中每个值types的types实例。 事情是,“字典传递魔法”听起来很像“vtables”。 在像Scala这样的面向对象语言中,子types比“Boxytypes”方法更简单,更自然。 如果我们的A , B和C都扩展特性T ,那么我们可以简单地声明List[T]并且感到高兴。 同样,正如Miles在下面的评论中所指出的那样,如果它们都扩展了T1 , T2和T3特征,那么我可以使用List[T1 with T2 with T3]作为Haskell的等价物[forall a. (T1 a, T2 a, T3 […]

Javascript作为一种function性语言

我期待着掌握函数式编程的概念。 我已经使用Javascript多年来在Web应用程序中的客户端脚本,除了使用原型,它都是简单的DOM操作,inputvalidation等。 最近,我经常读到 Javascript是支持函数式编程的语言之一。 随着我对Javascript的熟悉和经验,我的首选是使用它来学习函数式编程。 我希望我能够更专注于主要的function概念,不会被一个全新的语法陷入困境或分心。 所以总而言之,Javascript是学习函数式编程概念的好select吗? Javascript中的哪些function是相关的/支持函数式编程?

什么是应用风格的实际用途?

我是一名Scala程序员,现在正在学习Haskell。 很容易find面向对象概念的实际用例和真实世界的例子,例如装饰器,策略模式等。书籍和网站都充斥着它。 我意识到,这不是function概念的情况。 例如: 应用程序 。 我正在努力寻找应用程序的实际使用案例。 到目前为止,我所遇到的几乎所有的教程和书籍都提供了[]和Maybe的例子。 我希望应用程序比这更适用,看到他们在FP社区的所有关注。 我想我理解申请者的概念基础(也许我错了),而且我已经等待了我的启蒙时刻。 但似乎并没有发生。 从来没有编程,我有一个时刻,我会高兴地喊,“尤里卡!我可以在这里使用应用程序! (除了[]和Maybe )。 有人可以指导我如何在日常编程中使用应用程序吗? 我如何开始发现模式? 谢谢!

理解语言规范中描述的C#types推断的问题

C#语言规范描述了第7.5.2节中的types推断。 有一个细节,我不明白。 考虑以下情况: // declaration void Method<T>(T obj, Func<string, T> func); // call Method("obj", s => (object) s); Microsoft和Mono C#编译器都正确地推断T = object ,但是我对规范中的algorithm的理解会产生T = string ,然后失败。 这是我的理解: 第一阶段 如果Ei是一个匿名函数,则从Ei到Ti创build一个明确的参数types推断 (第7.5.2.7节) ⇒没有效果,因为lambdaexpression式没有明确的参数types。 对? 否则,如果Ei具有typesU并且xi是值参数,则从U到Ti进行下限推断 。 ⇒第一个参数是静态types的string ,所以这将string添加到T的下限,对不对? 第二阶段 所有不依赖于 (§7.5.2.5)任何Xj的非固定typesvariablesXi是固定的(§7.5.2.10)。 ⇒T是不固定的; T不依赖于任何东西…所以T应该是固定的,对吧? §7.5.2.11修复 候选typesUj的集合始于Xi的边界集合中的所有types的集合。 ⇒{ string (下界)} 然后,我们依次检查Xi的每个边界:对于Xi的每个下界U,从候选集合中删除所有typesUj,其中不存在从U的隐式转换。 […] ⇒不会从候选集中删除任何东西,对吗? 如果在剩余的候选typesUj中存在唯一的typesV,从其中隐含地转换到所有其他候选types,则将Xi固定为V. ⇒由于只有一个候选types,所以这是真实的,所以Xi被固定为string 。 对? 那么我哪里错了?

CSS的隐藏function

我已经在关于PHP和XHTML的隐藏特性样式问题中明确地提出了一些有用的提示。 所以这里是一个覆盖CSS。 虽然容易拾起,但需要一点时间来了解一切,他们的默认行为,属性等 这里有一些开始球 @charset "UTF-8"; /* set the character set. must be first line as Gumbo points out in comments */ .element { /* takes precedence over other stylings */ display: block !important; /* mozilla …. rounded corners with no images */ -moz-border-radius: 10px; /* webkit equivalent */ -webkit-border-radius: 10px } 这些并不是很隐蔽 ,但它们的使用并不常见。 你用CSS发现了什么提示,技巧和难得的function?

Monads与箭头

我对函数式编程中使用的monads和arrow的概念非常熟悉。 我也明白,他们可以用来解决类似的问题。 不过,在任何情况下如何select使用哪一个,我还是有点困惑。 我应该什么时候使用monads,什么时候应该使用箭头?

如何在jquery中运行一个函数

我是一个编程新手,我不知道如何在JQuery中存储一个函数,并在多个地方运行。 我有: $(function () { $("div.class").click(function(){ //Doo something }); $("div.secondclass").click(function(){ //Doo something }); }); 现在2“// Doo somethings”是一样的,我不想再写相同的代码。 如果我把: $(function () { function doosomething () { //Doo something } $("div.class").click(doosomething); $("div.secondclass").click(doosomething); }); 这将运行页面加载function,而不是只有当它点击。 我如何正确地做到这一点? 谢谢!

何时使用函数式编程语言?

在哪种情况下,我应该select使用函数式编程语言,而不是像C ++,C#或Java这样的更加冗长的面向对象的语言? 我明白什么是函数式编程,我不明白什么types的问题是一个完美的解决scheme?

我什么时候需要在SQL Server中使用Begin / End Blocks和Go关键字?

有人可以告诉我何时何地需要在SQL Server中使用begin和end块? 另外, Go关键字究竟干什么?

JavaScript嵌套function

我得到了一段JavaScript的代码,我只是不明白: function dmy(d) { function pad2(n) { return (n < 10) ? '0' + n : n; } return pad2(d.getUTCDate()) + '/' + pad2(d.getUTCMonth() + 1) + '/' + d.getUTCFullYear(); } function outerFunc(base) { var punc = "!"; //inner function function returnString(ext) { return base + ext + punc; } return returnString; } 如何在另一个函数中定义一个函数? 我们可以从我的()函数之外调用pad2()吗? […]