小编mb1*_*b14的帖子

在VIM中锁定标记

无论如何(内部或通过插件),以防止标记被覆盖?我的意思是一种方式,所以你不能设置一个标记,如果它已经被使用(我特别考虑全局标记).

我想在我的vimrc或会话中添加它们,但我更喜欢另一种方式.

更新

不要给我发一个脚本来做.我可以做我自己,我的问题是更多的,如果有在VIM一个隐藏的方式做到这一点,或者如果我不得不写一个脚本自己.答案显然不是.

非常感谢那些已经发给我脚本的人.我会用它们来写我自己的(因为发送的脚本不是我想要的)

vim

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

在haskell中生成html表的最简单方法是什么?

我想以html格式输出一个表.基本上我想要像:

[[a]] -> <table> 
Run Code Online (Sandbox Code Playgroud)

最简单的方法是什么?

html haskell

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

你如何在HList中注释类型

我正在尝试使用HList,我需要注释它,但我无法弄清楚如何做到这一点.

如果在ghci中键入以下内容

>:t "hello" .*. HNil
Run Code Online (Sandbox Code Playgroud)

我得到以下类型签名:

HList((':)*[Char]('[]*))

我真的不明白.如果尝试使用此签名,我收到错误

"你好" .*.HNil :: HList((':)*[Char]('[]*))

我收到了一个错误

<interactive>:21:15: parse error on input `:'
Run Code Online (Sandbox Code Playgroud)

我该怎么办 ?

(我已经看到了使用的东西,:*:所以我理论上可以做String :*: HNil但却无法找到:*:.

haskell hlist

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

如何实例化PrintfArg

我正在尝试实例化我PrintfArg的盒装字符串.我遵循文档中给出的示例但它不起作用,因为它找不到`formatArg'.这是一个简化版本

import Text.Printf
data MyString = MyString String

instance PrintfArg MyString where
    formatArg (MyString s) format = formatArg s format
Run Code Online (Sandbox Code Playgroud)

我收到以下错误消息

`formatArg' is not a (visible) method of class `PrintfArg'
Run Code Online (Sandbox Code Playgroud)

我查看了源码,Text.Printf确实formatArg没有出口?我做错了什么还是错误?

haskell

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

Sum类型与Maybes的记录

在Haskell中设计数据类型时,我经常遇到的一个问题是使用sum类型或Maybe Eithers的记录.

一个简单的例子是对FX操作,现货或远期操作进行建模,其中唯一的区别在于是否存在"到期日"(一种方式是使用和类型,如果它是一个点或前方则明确指定.

data Amount = Amount { amount :: Double, currency :: String }
data Fx = Spot { tranDate :: Day, soldAmount :: Amount, boughtAmount :: Amount }
        | Forward  { tranDate :: Day, paidAmount :: Amount, boughtAmount :: Amount , maturity :: Day}
Run Code Online (Sandbox Code Playgroud)

另一种方法就是把它maturity作为"可能"

data Fx = Fx { tranDate :: Day
             , soldAmount :: Amount
             , boughtAmount :: Amount
             , maturity (Maybe Day)
             }
Run Code Online (Sandbox Code Playgroud)

或其他任何东西

haskell

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

Nix PHP 准备好了吗?

我是 Nix 的新手,对此感到非常兴奋(到目前为止,我一直在为 Haskell 使用它)。我打算用它来部署 PHP 应用程序。但是,Nix 如何处理 PHP 包(正常安装或使用 pear 安装)。

nix

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

是否可以改变ggplot2中的比例角度

正如问题所述,是否有可能改变比例文本的角度ggplot

我的意思是,我希望x轴上使用的标签旋转90度.

您显然可以使用angle图例,但它似乎不适用于比例.

任何的想法 ?

r ggplot2

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

groupBy应该做什么?

我写了一些东西Data.List.groupBy.它没有按预期工作,所以我最终写了我自己的版本groupBy:毕竟我不确定那个Data.List应该做什么(没有真正的文档).

无论如何,我的测试通过我的版本,groupBy而它失败了Data.List.我发现(感谢quickcheck)两个函数表现不同的情况,我仍然不明白为什么两个版本之间存在差异.是Data.List版本马车或者是我的?(当然我的是一个天真的实现,可能不是最有效的方法).

这是代码:

import qualified Data.List as DL
import Data.Function (on)
import Test.QuickCheck

groupBy' :: (a -> a ->  Bool) -> [a] -> [[a]]
groupBy' _ [] = []
groupBy' eq (x:xs) = xLike:(groupBy' eq xNotLike) where
    xLike = x:[ e | e <- xs, x `eq` e  ]
    xNotLike = [ e | e <- xs, not $ x `eq` e  ]

head' [] = …
Run Code Online (Sandbox Code Playgroud)

haskell haskell-platform

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

如何在haskell中链接使用可能的参数?

我正在尝试从可选参数构建一个字符串.例如,从标题和名称生成问候语字符串这在命令式语言中是微不足道的,看起来像这样

def greeting(title, name):
   s = "Hello"
   if a :
        s += "Mr"
   if b: 
        s += b
Run Code Online (Sandbox Code Playgroud)

我在haskell的第一次尝试是:

greeting :: Bool-> Maybe String -> String
greeting title name = foldl (++) "Hello" (catMaybes [title' title, name])
   where
   title' True = Just "Mr"
   title' False = Nothing
Run Code Online (Sandbox Code Playgroud)

我敢肯定有一种更好的方式来做到这一点.首先,我确信这种foldl catMaybes组合存在于某个地方,但我找不到它.其次,折叠在这里工作,因为我使用相同的操作(和相同的类型).那么有什么更好的方法呢?我也在考虑使用Writer,但我不确定如何做到这一点.

更新

这只是一个例子(可能是坏的或太简单).我的问题更多,如何将其概括为许多论点.

所以真正的问题不只是关于连接2个字符串,而是更多如何使用可选的部分和参数从模板生成字母,就像在Word中使用邮件合并工具一样.

你有一个csv文件,其中包含客户名称,电话号码,逾期等等.某些字段可能是可选的.另一方面,您有一个模板,目标是根据*模板为每个客户(行)生成一个字母.那么问题是你如何在haskell中编写这个模板(没有任何模板库的帮助).在我的第一个例子中,模板将是"hello(Mr){name}",但实际上,模板可以是发票,声明信,甚至是完整的会计报告.

haskell

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

你可以在同一个cabal包中有一个可执行文件和库

我是新用的cabal,我需要我的包包含一个小的可执行文件以及整个库.是否可以这样做(导出可执行文件和库)或者cabal包是否具有type(可执行的OR二进制文件).是否也可以在同一个packagke中导出许多可执行文件?

haskell cabal

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

如何在Haskell中捕获读错误

我有以下问题,我正在解析一个read用于转换Int为的文件String.问题是当它失败时,我无法显示无法解析的字符串.我得到了Exception: Prelude.read : no parse.

我试着编写自己的myRead函数,它将使用read并抛出更有意义的消息,但我不知道如何捕获所引发的错误read.

或者,有没有其他方法可以找到未正确读取的内容(使用调试器或跟踪?)

haskell

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

标签 统计

haskell ×8

cabal ×1

ggplot2 ×1

haskell-platform ×1

hlist ×1

html ×1

nix ×1

r ×1

vim ×1