小编So8*_*res的帖子

Unicode First,Previous,Next和Last

Unicode有雪人和棋子.它是否有第一个(<<或| <),前一个(<),下一个(>)和最后一个(>>或> |)符号?这些对于文章之间的网站导航等非常有用.

unicode

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

在IO中提取Maybe值

鉴于以下内容:

> (liftM2 fromMaybe) (ioError $ userError "OOPS") (return $ Just "ok")
Run Code Online (Sandbox Code Playgroud)

ghci给了我

*** Exception: user error (OOPS)
Run Code Online (Sandbox Code Playgroud)

当然,来自Maybe的工作正常:

> (liftM2 fromMaybe) (return $ "not me") (return $ Just "ok")
"ok"
Run Code Online (Sandbox Code Playgroud)

但似乎IO操作正在执行然后被丢弃:

> (liftM2 fromMaybe) (putStrLn "computing.." >> "discarded") (return $ Just "ok")
computing..
"ok"
Run Code Online (Sandbox Code Playgroud)

为什么会这样?有没有什么方法可以让IO Monad更加懒散?

具体来说,考虑value :: IO (Maybe a)到(简洁,简洁)的说法

result <- (liftM2 fromMaybe) err value
Run Code Online (Sandbox Code Playgroud)

并解压缩结果或相应地抛出IOError?

io monads haskell maybe

15
推荐指数
3
解决办法
2607
查看次数

Vimscript:函数定义中"中止"的意义是什么?

在vimscript中,function定义可以采用abort参数.引用文档,

When the [abort] argument is added, the function will
abort as soon as an error is detected
Run Code Online (Sandbox Code Playgroud)

这使我严重质疑在遇到错误时通常会做什么功能.盲目地跌入黑暗中?

什么是abort真正做到?它会破坏所有try...endtry块吗?您何时想使用它,何时想避免使用它?

vim

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

使用Cabal的quickCheck测试?

cabal中测试套件的当前状态是什么,更重要的是,我在哪里可以保留它们?

我已经做了一些探讨,我能找到的最新信息暗示我不能相信文档,而且我在一年中的大部分时间都找不到任何人谈论它.我听说过有关cabal-test-quickcheck图书馆的谣言但似乎无法找到关于图书馆的谣言而且找不到如何设置它的例子.

如今将quickCheck测试连接到cabal测试套件的标准方法是什么?

testing haskell cabal

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

来自Django的Rails

从历史上看,我是一名django开发人员.我发现自己突然处于一个可以进行大量编程的位置.我浏览了rails docs并做了一些戳戳和刺激.大多数人认为我从未见过Web框架或者(更糟)我从未编写过代码.

理想情况下,我想要一个针对知道django(pylons/sinatra/etc会很好)的人的资源,并告诉我我需要知道的与ruby站在一起的差异.

这样的事情非常难以搜索,因为网络上散落着"django vs rails"文章.

是否有一个好的rails资源可以假设其他框架的知识?从django到ruby,我需要知道什么?

django ruby-on-rails

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

Django order_by字段总和

是否可以使用django ORM通过两个不同字段的总和来排序查询集?

例如,我有一个如下所示的模型:

class Component(models.Model):
    material_cost = CostField()
    labor_cost = CostField()
Run Code Online (Sandbox Code Playgroud)

我想做这样的事情:

component = Component.objects.order_by(F('material_cost') + F('labor_cost'))[0]
Run Code Online (Sandbox Code Playgroud)

但不幸的是,F对象似乎不适用于'order_by'.django有可能这样吗?

python django

12
推荐指数
2
解决办法
5575
查看次数

匹配xa?b?c的正则表达式?但不是单独的x

我正在尝试写一个匹配xa?b?c的正则表达式?但不是x.实际上,'x','a','b'和'c'不是单个字符,它们是中等复杂的子表达式,所以我试图避免像x这样的东西(abc | ab | ac | bc | A | b | C).是否有一种简单的方法可以在正则表达式中匹配"a,b和c中的至少一个,按顺序",还是我运气不好?

regex

11
推荐指数
3
解决办法
1033
查看次数

拉斐尔订购物品

我正在尝试订购Raphael物品.我没有决定何时创建对象的选项,但是我想在创建对象后使一组对象出现在一组其他对象后面.任何人都可以帮我这样做吗?

谢谢.

javascript raphael

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

Haskell模糊文件路径操作(简化点)

我在haskell中有一个动态构造的文件路径,最终结果如下:

/abc/def/../ghi/./jkl
Run Code Online (Sandbox Code Playgroud)

而且我想把它减少到更可读

/abc/ghi/jkl
Run Code Online (Sandbox Code Playgroud)

用于打印.在haskell中有一个库函数吗?我看了一遍,找不到一个.写起来并不难,但它有点乱,因为你必须"向前看""...",如果可以,我宁愿使用烘焙功能.

haskell filepath

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

声明参数化类型同义词的实例

我有一堆函数可用于Vector,即具有类型强制长度的列表.

我试图让我的类型更容易编写,即不是写作

foo :: (Fold Integer v, Map Integer Integer v v, ...) => ...
Run Code Online (Sandbox Code Playgroud)

我正在宣布一个新课程,NList所以我可以写foo :: NList v Integer => ...

(简化)类看起来像这样:

class ( Fold (v i) i
      , Map i i (v i) (v i)
      , Map i (Maybe i) (v i) (v (Maybe i))
      ) => NList v i
Run Code Online (Sandbox Code Playgroud)

正如你所看到的,我必须保持"载体"类型从"项目"型分离(即v从分开的i),这样我可以做这样的事情Map在一个Maybe载体.

因此,v必须善良* -> *,i善良*.

但是,当我尝试用这样的向量实例化它时:

instance NList Vec2 Integer …
Run Code Online (Sandbox Code Playgroud)

haskell types

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

标签 统计

haskell ×4

django ×2

cabal ×1

filepath ×1

io ×1

javascript ×1

maybe ×1

monads ×1

python ×1

raphael ×1

regex ×1

ruby-on-rails ×1

testing ×1

types ×1

unicode ×1

vim ×1