小编Огњ*_*јић的帖子

素数生成器的F#vs C#性能

我注意到F#和C#中看似相同的代码不会执行相同的操作.F#的数量级更慢.作为一个例子,我提供的代码生成素数/给出F#和C#中的第n个素数.我的F#代码是:

let rec isprime x =
primes
|> Seq.takeWhile (fun i -> i*i <= x)
|> Seq.forall (fun i -> x%i <> 0)

and primes = 
    seq {
        yield 2
        yield! (Seq.unfold (fun i -> Some(i, i+2)) 3)
                |> Seq.filter isprime
    }


let n = 1000
let start = System.DateTime.Now
printfn "%d" (primes |> Seq.nth n)
let duration = System.DateTime.Now - start
printfn "Elapsed Time: "
System.Console.WriteLine duration
Run Code Online (Sandbox Code Playgroud)

而C#看起来像这样:

class Program
{
    static bool isprime(int n)
    {
        foreach (int p …
Run Code Online (Sandbox Code Playgroud)

c# performance primes f#

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

C++概念与static_assert

c ++概念中有什么新东西?根据我的理解,它们在功能上等同于使用static_assert,但是以"漂亮"的方式意味着编译器错误将更具可读性(因为Bjarne Stroustup说你不会得到10页或错误,而只是一个).

基本上,您可以使用概念实现的一切都是真的static_assert吗?

有什么我想念的吗?

c++ static-assert c++-concepts

11
推荐指数
1
解决办法
1551
查看次数

XSD选择在所有内部

您不能将选择标记放在all标记内.那么,是否有任何解决方法来获得此功能?例如,我有以下<settings>标签:

<settings>
    <logging />
    <sending />
    <useonly />
</settings>
Run Code Online (Sandbox Code Playgroud)

或类似的东西

<settings>
    <logging />
    <notuseonly />
    <sending />
</settings>
Run Code Online (Sandbox Code Playgroud)

所以我想防止<useonly><notuseonly>一起出现,而顺序并不重要.如果允许,在XSD中它看起来像:

  <xs:all>
    <xs:element minOccurs="0" maxOccurs="1" ref="sending" />
    <xs:element minOccurs="0" maxOccurs="1" ref="logging" />
    <xs:choice>
         <xs:element minOccurs="0" maxOccurs="1" ref ="useonly" />
         <xs:element minOccurs="0" maxOccurs="1" ref ="notuseonly" />
     </xs:choice>
  </xs:all>
Run Code Online (Sandbox Code Playgroud)

有什么想法吗?

xsd

6
推荐指数
1
解决办法
5261
查看次数

Makefile:如何在规则的左侧使用变量?

假设我要改写这个:

main.o: main.cpp
    g++ -c main.cpp

factorial.o: factorial.cpp
    g++ -c factorial.cpp

hello.o: hello.cpp
    g++ -c hello.cpp
Run Code Online (Sandbox Code Playgroud)

以更通用的方式,如下所示:

SOURCES = main factorial hello

$(SOURCES).o: $(SOURCES).cpp
    g++ -c $(SOURCES).cpp
Run Code Online (Sandbox Code Playgroud)

我怎么做?

variables makefile

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

仅包含颜色的 WPF 文本控件

我需要一个文本控件,用户可以在其中编辑文本,并且文本的某些部分可以根据文本具有不同的颜色。基本上,想象一下 Visual Studio 源文件编辑器或任何其他为源代码着色的源文件编辑器。那是什么WPF控件?据我所知,WPF 中的三个选项都不适合:

文本框不允许使用颜色

TextBlock不允许用户编辑文本

RichTextBox允许太多 - 我只想要颜色。

也许 RichTextBox 可以修复其他文本格式(即字体、粗体、斜体)?有什么想法吗?

wpf textbox colors richtextbox

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