小编Ine*_*ept的帖子

与Haskell类型推断混淆

我不明白为什么以下功能有效:

isLongerThanN :: Integral n => n -> [a] -> Bool
isLongerThanN n xs = length xs > fromIntegral n
Run Code Online (Sandbox Code Playgroud)

但以下不是:

isLongerThanN' :: Integral n => n -> [a] -> Bool
isLongerThanN' n xs = length xs > n
Run Code Online (Sandbox Code Playgroud)

这引发了错误

Could not deduce (n ~ Int)
    from the context (Integral n)
      bound by the type signature for
                 isLongerThanN' :: Integral n => n -> [a] -> Bool
      at blah.hs:140:1-35
      `n' is a rigid type variable bound by
          the type signature …
Run Code Online (Sandbox Code Playgroud)

haskell type-inference

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

为什么这个演员不需要ARC下的桥接?

为什么将CGImageRef转换为对象指针不需要内存管理信息(__bridge等)?例如,如果image的类型为UIImage*,而layer是UIView的底层,则以下代码行不会引起编译器的任何抱怨:

layer.content = (id)[image CGImage];
Run Code Online (Sandbox Code Playgroud)

ios automatic-ref-counting

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