小编Rei*_*chs的帖子

如何在独立的Getter中使用(^?ix 0)?

抱歉这个措辞不好的标题,但我甚至不知道如何正确地问它.

我怎么能这个呢?

instPublicIP :: Instance -> Maybe Text
instPublicIP inst =
  inst ^. insNetworkInterfaces ^? ix 0 . iniAssociation . _Just . iniaPublicIP . _Just
Run Code Online (Sandbox Code Playgroud)

进入这个

instPublicIP' :: Lens' Instance (Maybe Text)
instPublicIP' = insNetworkInterfaces ^? ix 0 . iniAssociation . _Just . iniaPublicIP . _Just
Run Code Online (Sandbox Code Playgroud)

当我尝试时,我收到以下错误:

Main.hs:198:3:
    Couldn't match expected type ‘(Maybe Text -> f (Maybe Text))
                                  -> Instance -> f Instance’
                with actual type ‘Maybe Text’
    Relevant bindings include
      instPublicIP' :: (Maybe Text -> f (Maybe Text))
                       -> …
Run Code Online (Sandbox Code Playgroud)

haskell lenses haskell-lens

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

Coffeescript,数组长度未定义

任何人都可以解释为什么长度总是空的?

jsCountries = 
  0:
    country: "Brazil"
    photo:  "source.png"


alert jsCountries.length
Run Code Online (Sandbox Code Playgroud)

arrays coffeescript

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

我的 docker 容器是在没有名称和标签的情况下创建的

我正在为 hakyll 编译创建一个 docker 映像。这是泊坞窗文件:

FROM haskell:7.10

RUN cabal update && cabal install hakyll
Run Code Online (Sandbox Code Playgroud)

该文件位于我的 D: 驱动器上的某个文件夹中:D:\Haskell\docker\docker-hakyll

我在 Windows 上使用 Boot2Docker 来构建它。docker images给我

REPOSITORY TAG    IMAGE ID     CREATED VIRTUAL SIZE
<none>     <none> 195a730d8827 33 minutes ago  1.464 GB
haskell    7.10   11849cc2a27b 3 days ago      716.2 MB
Run Code Online (Sandbox Code Playgroud)

docker build .

Step 0 : FROM haskell:7.10
---> 11849cc2a27b
Step 1: RUN cabal update && cabal install hakyll
---> 195a730d8827
Successfully built 195a730d8827
Run Code Online (Sandbox Code Playgroud)

有人知道吗?我怎么可以docker run这样呢?或者甚至重命名它?

docker boot2docker

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

Haskell如何使用map返回列表?

我对如何返回数据类型中的某些内容列表感到困惑.我想我必须使用map函数,但我不确定如何在这个上下文中使用它.例如,如果我有下面的数据类型(我知道很奇怪,但具体而言),我将如何编写一个函数

makeList :: Car -> [Make]
makeList map f ???
Run Code Online (Sandbox Code Playgroud)

返回输入中所有汽车的品牌列表(如下所示),如果给出"makeList Tail",则返回空列表[].

data Car = Model Make Car | Tail

> makeList (Car Audi (Car Porsche Tail))
  [Audi,Porsche]
> makeList Tail
  [ ]
Run Code Online (Sandbox Code Playgroud)

haskell list

-3
推荐指数
1
解决办法
83
查看次数

惯用函数重载

我google了很多但仍然困惑于在Haskell中重载函数的最惯用的方法.鉴于:

foo :: Int -> String -> Double
foo :: String -> String -> Double
foo :: String -> Double
foo :: Char -> Integer-> Integer -> Integer -> String
Run Code Online (Sandbox Code Playgroud)

(不确定我是否涵盖了所有可能的情况)你会如何使它成为惯用的(类型类?)

haskell

-3
推荐指数
1
解决办法
107
查看次数