小编Lea*_*...的帖子

Haskell 中的函子:显示类型参数类型的项的值

GHC 不知道如何显示类型 a。

data FunctorExample a = FunctorExample { val1 :: a, 
                                         val2 :: String
                                        } deriving (Show) 

instance Functor FunctorExample where
    fmap f (FunctorExample x y) = FunctorExample (f x) (y ++ " " ++ show x)
Run Code Online (Sandbox Code Playgroud)

我尝试了很多事情,包括:在数据中设置类型约束(现已弃用),并使用 {-# LANGUAGE InstanceSigs #-} 为 fmap 添加约束并添加下面建议的类型签名,但没有成功(虽然我的类型签名可能有缺陷......)。

    * No instance for (Show a) arising from a use of `show'
      Possible fix:
        add (Show a) to the context of
          the type signature for:
            fmap :: forall a b.
                    (a -> b) -> …
Run Code Online (Sandbox Code Playgroud)

haskell

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

用引号内的下划线替换空格

我需要在一个大文本文件中替换所有出现的事件,例如'yw234DV w-23-sDf wef23s-d-f'使用相同的字符串但用下划线而不是引号内的所有空格的空格,而不用下划线替换引号外的任何空格。

我正在尝试在 vim 中找到替代解决方案,但也非常感谢 sed 解决方案。每个引号分隔的字符串中的标记数量可能会有所不同。

我一直在 vim 中使用一些正则表达式,但它们非常初级,似乎缺少我需要的东西。

我目前的尝试:

%s/'{[:alnum:] }*/'\0\_/g
Run Code Online (Sandbox Code Playgroud)

我正在尝试对此进行更改。

这与我的问题最相似,尽管它是 Java: 替换引号内的空格

样本输入:

'wiUEF7-gvouw ow wo24-RTeih we', 'yt23IT iug-76'    
Run Code Online (Sandbox Code Playgroud)

示例输出:

'wiUEF7-gvouw_ow_wo24-RTeih_we', 'yt23IT_iug-76'
Run Code Online (Sandbox Code Playgroud)

regex vim sed substitution

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

标签 统计

haskell ×1

regex ×1

sed ×1

substitution ×1

vim ×1