小编Cha*_*ion的帖子

在创建中间值时,我应该存储它吗?

我正在努力学习F#所以我访问了Project Euler,目前正在研究问题3.

13195的主要因素是5,7,13和29.

600851475143的最大主要因素是什么?

有些事情需要考虑:

  1. 我的首要任务是学习良好的功能习惯.
  2. 我的第二个优先事项是我希望它快速有效.

在以下代码中,我标记了此问题涉及的部分.

let isPrime(n:int64) = 
    let rec check(i:int64) = 
        i > n / 2L or (n % i <> 0L && check(i + 1L))
    check(2L) 

let greatestPrimeFactor(n:int64) =
    let nextPrime(prime:int64):int64 = 
        seq { for i = prime + 1L to System.Int64.MaxValue do if isPrime(i) then yield i }  
        |> Seq.skipWhile(fun v -> n % v <> 0L) 
        |> Seq.hd
    let rec findNextPrimeFactor(number:int64, prime:int64):int64 =
        if number = 1L then prime …
Run Code Online (Sandbox Code Playgroud)

primes f# functional-programming factorization

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

关于jQuery选择器的问题

我想用jQuery选择除myclass之外的所有h1标签.例如,我想选择<h1>,但我不想选择<h1 class ="myclass">

谢谢

css jquery css-selectors

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

定义这个通用接口以便编译的最简洁方法是什么?

因为,具有相同参数但返回值不同的两个方法将无法编译.在不失去清晰度的情况下定义此界面的最佳方法是什么?

public interface IDuplexChannel<T, U>
{
    void Send(T value, int timeout = -1);
    void Send(U value, int timeout = -1);
    bool TrySend(T value, int timeout = -1);
    bool TrySend(U value, int timeout = -1);
    T Receive(int timeout = -1);
    U Receive(int timeout = -1);
    bool TryReceive(out T value, int timeout = -1);
    bool TryReceive(out U value, int timeout = -1);
}
Run Code Online (Sandbox Code Playgroud)

我考虑使用params,但这会使它使用起来有点尴尬.

public interface IDuplexChannel<T, U>
{
    void Send(T value, int timeout = -1);
    void Send(U value, int timeout = …
Run Code Online (Sandbox Code Playgroud)

.net c# generics c#-4.0

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

SQL查询 - 从两个不同级别的层次结构中获取总和

项目有多个任务,具有多个任务

项目(1-n) - >任务(1-n) - >作业

"任务"表上的字段是"计划时数".

"分配"表上的字段为"分配小时".

如何在单个查询中获取所有项目的计划时间和分配时间?

sql t-sql sql-server

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

重载'+'的不可变列表是否有意义?

它当然不会脱离.NET框架的标准实践.当我看到一个时,a + b我总是假设会创造一些新东西.

static void Main(string[] args)
{
    var list = BuildList(ImmutableList<int>.Empty);
    var sum = (list + 500).Sum();
    Console.WriteLine(sum);
    Console.ReadLine();
}

static ImmutableList<int> BuildList(ImmutableList<int> list)
{
    if (list.Count < 1000)
    {
        return BuildList(list + list.Count);
    }
    return list;
}
Run Code Online (Sandbox Code Playgroud)

更新

请参阅Jon Skeet关于如何在不可变列表上命名方法的帖子.

令人惊讶的回应

我很惊讶地看到这么多答案都认为这是有道理的.原则上我也同意,但是对于我来说,阅读冗长的代码比阅读简洁,代码简洁的人更容易.从我的工作经验来看,他们似乎占多数.

c# operator-overloading immutability

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

VB.NET - 想要将两种可空类型相加 - 如何?(即var1 + var2,两者都可以为空,vari1 = Nothing,Var2 = 5导致Nothing)

我有:

Dim nVar1 As Long?

Dim nVar2 As Long?

Dim nVarSum As Long?

nVar1 = Nothing

nVar2 = 5

nVarSum = nVar1 + nVar2
Run Code Online (Sandbox Code Playgroud)

我希望结果以nVarSum为5结束,而不是Nothing.

我知道如果你添加一些未知值的东西,你最终会得到"somthing + unknown"或者x + 5总是等于"x + 5"而不是"5",因为你仍然带着那个未知的"x".

但是,在这种情况下,如何才能有效地将未知或Nothing视为零?

谢谢!

(基本上发生的是最终用户向我们发送数据文件,此代码解析该文件,然后将大约15个字段汇总在一起.如果用户将这些字段留空而不是为它们分配零,我需要对待它好像它对于这一个加法操作是零,但所有其余代码需要继续将其视为Nothing值,因为用户实际上没有提交零...他们提交空白或没有)

vb.net nullable addition

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

如何获取参数的字符串值以创建哈希Javascript的密钥

如何将"my_param"作为一个字符串,以便我可以将其用作我正在尝试创建的密钥?

var my_function = function(my_param) {
  var my_hash = { 
    my_param: "foobar"
  }
}
Run Code Online (Sandbox Code Playgroud)

javascript hash

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

当您将Int32设置为Int16时,幕后会发生什么?

当我这样做时,在低水平发生了什么?

Int32 a = 0;
Int16 b = 50;

a = b;
Run Code Online (Sandbox Code Playgroud)

.net c# runtime

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

Javascript函数流程的最佳实践?

我有一个相对容易的Ajax /动画,我正在添加到客户端站点以在项目之间进行选择以显示为图像.流程如下:

  1. 用户点击项目概述(pHome)中的缩略图.
  2. 使用jQuery,ajax在XML文件中加载图像,标题和项目描述数据(project1).
  3. 从XML文件构造HTML并将其注入DOM(div id ="project1").
  4. 动画和(4.5)消除pHome.
  5. 淡出project1.
  6. 为将用户带到项目的缩略图添加"抽吸"效果.

所有这些事情都需要同步发生,但我找不到合适的功能流程.将所有这些步骤附加到用户单击会在动画完成之前淡出pHome,并且在project1 div甚至可见之前触发'puff'效果.

事实上,我有所有这些步骤的功能,它看起来像一个真正的混乱.我要求的是构建这些函数的最佳实践方法,以便它们同步发生(可能除了2和3).就像一个援助,这是我的问题的伪代码:

$('#thumbnail').live('click', function(){
    loadXML(thumbnail_id);
    makeHMTL(data);
    $('pHome').animate({blah}).fadeOut();
    $('project1').fadeIn();
    $('thumbnail_id').puff();
});
Run Code Online (Sandbox Code Playgroud)

我知道这显然是一种不好的方法 - 但我无法弄清楚如何嵌套/构造函数以使它们全部同步.而且我真的想要一个答案,让我有一些方法可以在将来构建我的功能以避免老鼠窝.教育我!:)

javascript jquery coding-style

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


如何将VB语句转换为C#

我很难将这个vb代码转换为C#

Dim billingElem As XmlElement = _
    CType(xmldoc.SelectSingleNode("/order/billing"), XmlElement)
Run Code Online (Sandbox Code Playgroud)

转换为

XmlElement uinelement =
    (XmlElement)xmldoc.GetElementsByTagName("/Users/user/uin");
Run Code Online (Sandbox Code Playgroud)

错误是无法将XMLNodeList实现转换为XmlElement.

谢谢Kanta

c#

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

正则表达式用'选项'替换'li'而不会丢失class和id属性

我正在寻找使用preg_replace或类似方法来改变的解决方案:

<li id="id1" class="authorlist" />
<li id="id2" class="authorlist" />
<li id="id3" class="authorlist" />
Run Code Online (Sandbox Code Playgroud)

<option id="id1" class="authorlist" />
<option id="id2" class="authorlist" />
<option id="id3" class="authorlist" />
Run Code Online (Sandbox Code Playgroud)

我想我的模式是正确的,但不知道如何更换零件......

这是(wordpress)php代码:

$string = wp_list_authors( $args ); //returns list as noted above
$pattern = '<li ([^>]*)';
$replacement = '?????';
echo preg_replace($pattern, $replacement, $string);
Run Code Online (Sandbox Code Playgroud)

建议好吗?

php regex preg-replace

0
推荐指数
1
解决办法
658
查看次数

F#替代列表语法

所以我有一个带有属性名称的类型类型.

我正在创建一个类型名称列表,如下所示.

let genres = new Genre()
    [ genres.Name <- "Disco"; 
      genres.Name <- "Jazz"; 
      genres.Name <- "Rock"; ] |>ignore
Run Code Online (Sandbox Code Playgroud)

想知道是否有更多的创造这种创造的方式?

f#

0
推荐指数
1
解决办法
230
查看次数