小编Zan*_*ier的帖子

git diff按文件名过滤

我希望git diff通过文件名过滤结果.

特别是,我想要一个名为"AssemblyInfo.cs"的文件的diff,但是位于git存储库中的任何位置.

我在Cygwin上使用git,如果这有所不同.

git bash git-diff git-bash

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

是否可以根据实现的类型类定义泛型类型的不同行为?

实际上我想要提出一个额外的层,但措辞有点尴尬.这是使用YesNo"了解你的Haskell"中的类型类的示例.

class YesNo a where
    yesno :: a -> Bool

instance YesNo Bool where
    yesno = id

instance YesNo [a] where
    yesno lst = length lst > 0
Run Code Online (Sandbox Code Playgroud)

这里,泛型类型是[a].是否可以更改此代码,以便在实现时yesno使用不同的逻辑(例如返回False)?aYesNo

haskell

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

Interlocked.CompareExchange 可以抛出 NullReferenceException 吗?

来自https://msdn.microsoft.com/en-us/library/bb297966(v=vs.110).aspx

[ComVisibleAttribute(false)]
public static T CompareExchange<T>(
    ref T location1,
    T value,
    T comparand
)
where T : class
Run Code Online (Sandbox Code Playgroud)

[ComVisibleAttribute(false)]
public static T CompareExchange<T>(
    ref T location1,
    T value,
    T comparand
)
where T : class
Run Code Online (Sandbox Code Playgroud)

但是当我对 使用空引用时location1,我没有收到任何错误:

class A { }
class Program
{
    static void Main(string[] args)
    {
        A dest = null;
        A src = new A();
        // If dest is null, then replace with src.
        Interlocked.CompareExchange(ref dest, src, null);
    }
}
Run Code Online (Sandbox Code Playgroud)

这样做可以吗?这是否会NullReferenceException在 …

.net c#

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

Haskell:模式匹配绑定运算符时的刚性类型变量错误

我正试图这样做

newtype Test a = Test (Int, a)

instance Monad Test where
    Test (_, []) >>= k =
        k []
    Test (_, a) >>= k =
        k a
    return a =
        Test (0, a)
Run Code Online (Sandbox Code Playgroud)

我收到错误:

Couldn't match expected type `a' with actual type `[t0]'
  `a' is a rigid type variable bound by
      the type signature for >>= :: Test a -> (a -> Test b) -> Test b
      at C:\Users\david.phillips\Documents\code\test.hs:4:5
In the pattern: []
In the pattern: (_, [])
In …
Run Code Online (Sandbox Code Playgroud)

monads haskell pattern-matching

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

标签 统计

haskell ×2

.net ×1

bash ×1

c# ×1

git ×1

git-bash ×1

git-diff ×1

monads ×1

pattern-matching ×1