所有这一次,当任何Haskell演讲中谈到"平面地图"时,通常与Monads有关,我认为它被称为"平面",原因是它平坦了容器.所以
[[1,2],[3,4]]
Run Code Online (Sandbox Code Playgroud)
将被处理就像它一样
[1,2,3,4]
Run Code Online (Sandbox Code Playgroud)
但是现在我发现fmap和map基本上是一回事,唯一的区别是一个用于仿函数而另一个用于just列表.最后,这只是在使用map时避免混淆错误消息.
真的吗?如果是这样,为什么f在fmap中意味着"平坦",为什么不"functor map"?
通常哪个更适合全局缓存:全局变量,常量或类实例变量?
以下是每个例子:
module Foo
$FOO_CACHE = {}
def self.access_to_cache
$FOO_CACHE
end
end
module Foo
CACHE = {}
def self.access_to_cache
CACHE
end
end
module Foo
@cache = {}
def self.access_to_cache
@cache
end
end
Run Code Online (Sandbox Code Playgroud)