小编Dav*_*one的帖子

为什么Python不适合函数式编程?

我一直认为函数式编程可以用Python完成.因此,我很惊讶Python在这个问题上没有得到很多提及,当提到它时,它通常不是很积极.然而,没有给出很多理由(没有提到模式匹配和代数数据类型).所以我的问题是:为什么Python不适合函数式编程?是否有更多的原因,而不是缺乏模式匹配和代数数据类型?或者这些概念对函数式编程如此重要,以至于不支持它们的语言只能被归类为二级函数式编程语言?(请记住,我在函数式编程方面的经验非常有限.)

python functional-programming

319
推荐指数
9
解决办法
12万
查看次数

Internet Explorer是否支持pushState和replaceState?

有人知道Internet Explorer是否支持操作浏览器历史记录的方法history.pushState()history.replaceState()方法吗?考虑到这些只是在Firefox 4中实现,我不是屏住呼吸,但有人知道他们是否会进入IE9?

html5 internet-explorer pushstate

140
推荐指数
2
解决办法
10万
查看次数

最优雅的方式来生成素数

实现此功能的最佳方式是什么:

ArrayList generatePrimes(int n)
Run Code Online (Sandbox Code Playgroud)

此函数生成第一个n素数(编辑:where n>1),因此generatePrimes(5)将返回ArrayListwith {2, 3, 5, 7, 11}.(我在C#中这样做,但我很高兴Java实现 - 或任何其他类似的语言(所以不是Haskell)).

我知道怎么写这个函数,但是当我昨晚做到这一点时,它并没有像我希望的那样结束.这是我想出的:

ArrayList generatePrimes(int toGenerate)
{
    ArrayList primes = new ArrayList();
    primes.Add(2);
    primes.Add(3);
    while (primes.Count < toGenerate)
    {
        int nextPrime = (int)(primes[primes.Count - 1]) + 2;
        while (true)
        {
            bool isPrime = true;
            foreach (int n in primes)
            {
                if (nextPrime % n == 0)
                {
                    isPrime = false;
                    break;
                }
            }
            if (isPrime)
            {
                break;
            }
            else
            {
                nextPrime …
Run Code Online (Sandbox Code Playgroud)

c# java algorithm primes

81
推荐指数
7
解决办法
6万
查看次数

什么是重构?什么是修改代码?

我知道重构是"改变程序的结构,以便不改变功能".我正在与我在大学的最后一年项目中与我合作的一些人谈话,我很惊讶他们有更广泛的(因为想要更好的词)重构的观点.

我认为重构就像提取方法和重命名类一样.他们还建议之类的东西改变的数据结构(如Java的LinkedList一个ArrayList),改变算法(使用合并排序而不是冒泡排序的),甚至重写大量代码的重构.

我很确定他们错了,但我无法给出一个很好的理由,因为他们的建议确实改变了程序(并且可能使其更好)而不改变其行为.我是对的,更重要的是,为什么?

refactoring

75
推荐指数
7
解决办法
7万
查看次数

Internet Explorer是否支持CSS转换?

CSS转换是动画CSS属性更改的非常简洁的方法.任何版本的Internet Explorer都支持它们吗?

css internet-explorer css-transitions

62
推荐指数
1
解决办法
10万
查看次数

现代正则表达方言不规律吗?

我在这里看到一些评论,提到现代正则表达式超出了常规语言的表达范围.这是怎么回事?

现代正则表达式的哪些特征不规则?例子会有所帮助.

regex regular-language

18
推荐指数
1
解决办法
610
查看次数

有没有办法找到第n个素数的近似值?

是否有一个函数可以返回第n个素数的近似值?我认为这将类似于近似反向素数计数功能.例如,如果我给这个函数25它将返回一个大约100的数字,或者如果我给这个函数1000它将返回一个大约8000的数字.我不在乎返回的数字是否是素数,但我确实想要它要快(所以不产生前n个素数以返回第n个.)

我想这样我可以使用筛子(EratosthenesAtkin)生成前n个素数.因此,理想情况下,n th 的近似值永远不会低估实际第n个素数的值.

(更新:请参阅我的答案,找到找到第n个素数上限的好方法.)

math primes sieve

15
推荐指数
2
解决办法
1万
查看次数

浏览器中的默认字体大小多长时间不是16px?

为问题写了一个很好的答案之后在CSS中处理像素是不是很糟糕?我得出的结论是,如果你理解了这些限制,我通常没有任何问题,我开始怀疑有多少人将默认字体大小设置为16px以外的其他东西.

我想有些用户会因为视力不佳或高像素密度监视器(如15英寸笔记本电脑上的1920*1080屏幕)而改变它(或者可能只是因为他们喜欢较大的文本).也可能有一些设备(手持设备?)的默认字体大小设置为其他东西,但这纯粹是我猜想的猜测.

我的问题是:有没有人知道有关用户将默认浏览器字体大小设置为16px以外的其他百分比的统计数据?

css

14
推荐指数
1
解决办法
1万
查看次数

有人可以解释这个C++ typedef吗?

我已经开始使用C++了很长一段时间没用过它.虽然大部分都是有意义的,但有一些我觉得有点困惑.例如,有人可以解释这一行的作用:

typedef bool (OptionManager::* OptionHandler)(const ABString& value);
Run Code Online (Sandbox Code Playgroud)

c++ typedef

11
推荐指数
2
解决办法
639
查看次数

OCR不再是问题吗?

根据维基百科的说法,"对拉丁文字的准确识别,现在认为打字文本在可以获得清晰成像的应用程序(如扫描打印文档)方面被认为是一个很大的问题." 但是,它没有引用.

我的问题是:这是真的吗?目前最先进的技术是如此之好 - 对于良好的英文文本扫描 - 没有任何重大改进吗?

或者,这个问题的一个不那么主观的形式是:现代OCR系统在识别英文文本以获得高质量扫描时有多准确?

ocr text-extraction layout-extraction

4
推荐指数
1
解决办法
613
查看次数

有没有理由说明为什么要使用document.writeln包含JavaScript

是否有任何充分理由说明为什么要包含这样的JavaScript:

<script type="text/javascript">document.writeln('<script src="http://example.com/javascript/MyJavaScript.js" type="text/javascript"><' + '/script>');</script>
Run Code Online (Sandbox Code Playgroud)

(抱歉,长滚动线.这是headHTML文档.)

我最近一直在看一些HTML,我已经注意到了几次(所有这些都在一个网站上).我想不出你为什么会这样做的任何理由,但我很难说自己是一名网络开发者.这些代码行很可能是自动生成的,但是,某个地方的某个人一定认为这是一个好主意.

javascript

4
推荐指数
1
解决办法
147
查看次数

Java和C#中的内存管理有何不同?

我正在阅读2010年CWE/SANS排名前25位最危险的编程错误,其中一个条目是缓冲区复制而不检查输入大小.它建议使用具有功能的语言来预防或缓解此问题,并说:

例如,许多执行自己的内存管理的语言(如Java和Perl)不会受到缓冲区溢出的影响.其他语言(如Ada和C#)通常提供溢出保护,但程序员可以禁用保护.

我不知道Java和C#在内存管理方面有任何有意义的不同.Java如何不受缓冲区溢出的影响,而C#只能防止溢出?如何在C#中禁用这种保护?

c# java memory-management buffer-overflow

4
推荐指数
2
解决办法
2835
查看次数