小编Cap*_*sey的帖子

"我的其他车是cdr"是什么意思?

任何精通lisp的人都可以向我解释这个笑话吗?我已经对函数式编程语言进行了一些阅读,并且知道CAR/CDR意味着地址/减量寄存器的内容,但我仍然不太了解幽默.

lisp cons cdr

88
推荐指数
3
解决办法
4万
查看次数

如何在惰性函数式编程语言中实现调试?

我想知道如何使用惰性函数语言实现调试.
你能使用断点,印刷语句和传统技术吗?这甚至是个好主意吗?
我的理解是纯函数式编程不允许副作用,monad除外.
执行顺序也不能保证.
您是否需要为要测试的每个代码段编写一个monad?我想从这个领域更有经验的人那里了解这个问题.

debugging functional-programming lazy-evaluation

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

C#通用方法类型参数推断

有什么方法可以概括这里的类型定义吗?理想情况下,我希望能够更改'testInput'的类型,并在编译时测试正确推断类型.

public static void Run()
{
    var testInput = 3;
    var test = ((Func<int, int>) Identity).Compose<int,int,int>(n => n)(testInput);
    Console.WriteLine(test);
}

public static Func<T, V> Compose<T, U, V>(this Func<U, V> f, Func<T, U> g)
{
    return x => f(g(x));
}

public static T Identity<T> (this T value)
{
    return value;
}
Run Code Online (Sandbox Code Playgroud)

更新:我可以指定传递给Compose的函数的类型,但这仍然指定行中的类型.

public static void Run()
{
    var testInput = 3;
    var identity = (Func<int, int>) Identity;
    var test = identity.Compose((int n) => n)(testInput);
    Console.WriteLine(test);
}
Run Code Online (Sandbox Code Playgroud)

一点背景; 我正在通过Wes Dyer的The Monvel …

c# type-inference

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

C#Linq语句或foreach()用于总计子集?

哪种解决方案更受青睐?

对于列表:

List<ExampleInfo> exampleList = new List<ExampleInfo>();

public class ExampleInfo
{
    internal ExampleInfo()
    { }
    /* Business Properties */
    public int Id { get; set; }
    public string Type { get; set; }
    public decimal Total { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

我希望根据"总计"值得到小计.

选项1:

var subtotal1 = exampleList.Where(x => x.Type == "Subtype1").Sum(x => x.Total);
var subtotal2 = exampleList.Where(x => x.Type == "Subtype2").Sum(x => x.Total);
Run Code Online (Sandbox Code Playgroud)

选项2:

decimal subtotal1 = 0m;
decimal subtotal2 = 0m;
foreach (ExampleInfo example in exampleList)
{
    switch (example.Type) …
Run Code Online (Sandbox Code Playgroud)

c# linq foreach

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

"男人还是男孩"Knuth测试如何运作?

任何人都可以解释人或男孩测试如何返回-67的值?
我徒劳地试着写下结果,或用调试器跟踪它.任何帮助,将不胜感激.
可以在此处找到不同实现的列表.

knuth algol

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

以三元表达式合并评估者是不是很糟糕?(C#)

我环顾四周,没找到一个同等的问题.
这是不好的编码练习吗?我可以很容易地阅读它,但对于阅读代码的人来说它是否太神秘了?

bool? testBool = null;  
string result;  
result = (testBool ?? false ? "Yes" : "No");  
Run Code Online (Sandbox Code Playgroud)

编辑:我向大家道歉,感谢一些可怕的代码!这是一个有效的例子.
我对回复的速度感到有些不知所措.我打算删除这个并且做得对,但已经有4个回复了!

c# ternary-operator null-coalescing-operator

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