小编Eri*_*lun的帖子

我如何让virtualenvwrapper和cygwin合作?

我试图virtualenv[wrapper]通过Cygwin在我的Windows机器上工作.安装成功,并easy_install基于以下方向:http://www.doughellmann.com/docs/virtualenvwrapper/.

当我使用时出现问题mkvirtualenv [name_of_vir_env].我得到以下输出:

$ mkvirtualenv testenv
New python executable in testenv\Scripts\python.exe
Installing setuptools.................done.
bash: D:\.virtualenvs/testenv/bin/postactivate: No such file or directory
chmod: getting attributes of `D:\\.virtualenvs/testenv/bin/postactivate': No such file or directory
bash: D:\.virtualenvs/testenv/bin/predeactivate: No such file or directory
chmod: getting attributes of `D:\\.virtualenvs/testenv/bin/predeactivate': No such file or directory
bash: D:\.virtualenvs/testenv/bin/postdeactivate: No such file or directory
chmod: getting attributes of `D:\\.virtualenvs/testenv/bin/postdeactivate': No such file or directory
ERROR: Environment 'D:\.virtualenvs/testenv' does not contain …
Run Code Online (Sandbox Code Playgroud)

python cygwin virtualenv

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

更短的Scala脚本标题

可以通过以下方式启动文本文件来在Scala中编写shell脚本:

#!/bin/sh
exec scala "$0" "$@"
!#
Run Code Online (Sandbox Code Playgroud)

为了简化脚本创建,我想编写一个名为scalash(可能是BASH脚本)的可执行文件,允许将Scala脚本标题缩短为一行:

#!/bin/scalash
Run Code Online (Sandbox Code Playgroud)

可能吗 ?如果我可以传递可选参数scalash,例如添加类路径依赖项,则需要额外的点数.

shell scripting scala scala-script

9
推荐指数
2
解决办法
1474
查看次数

如何在补丁/差异文件中写注释?

我想回顾一下同事的补丁.我们无法使用审核工具.所以我想评论他制作的补丁文件.是否可以在(svn)补丁文件中写入内联注释?

我在svn红皮书中找不到任何信息.我甚至无法找到补丁文件语法来弄清楚自己.

diff comments patch

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

树的最小高度

我正在尝试优化代码:

data Tree = Empty | Node Integer Tree Tree
minHeight Empty = -1
minHeight (Node _ Empty Empty) = 0
minHeight (Node _ l     r    ) = (min (minHeight l) (minHeight r)) + 1
Run Code Online (Sandbox Code Playgroud)

我的目标是不计算其深度将高于已知的分支的分支.

haskell functional-programming

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

是否可以在Haskell中部分应用第n个参数?

我很好奇是否可以编写一个函数apply_nth,它接受一个函数,一个参数的数量,以及该参数的值,然后返回一个新的,部分应用的函数.

我得到的感觉是,由于类型系统这是不可能的,但我无法得出令人满意的答案.我也无法想出一个工作型签名.

如果语言更松散,我想代码可能看起来像这样.

apply_nth f 0 x = f x
apply_nth f n x = \a -> apply_nth (f a) (n-1) x
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

haskell functional-programming generic-programming dependent-type

9
推荐指数
2
解决办法
266
查看次数

为什么KeyboardInterrupt在python中不起作用?

为什么不像以下代码一样捕获CTRL-C?

MAXVAL = 10000
STEP_INTERVAL = 10

for i in range(1, MAXVAL, STEP_INTERVAL):
    try:
        print str(i)
    except KeyboardInterrupt:
        break

print "done"
Run Code Online (Sandbox Code Playgroud)

我的期望是 - 如果在程序运行时按下CTRL-C,KeyboardInterrupt则应该离开循环.它不是.

对我做错的任何帮助?

python

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

scala列表映射vs mapConserve

我试图理解mapConserve,它被称为"像xs map f,但如果函数f将所有元素映射到自己,则返回xs不变",来自List.然而,它正在发出错误.

def map [B] (f: (A) ? B): List[B]
def mapConserve (f: (A) ? A): List[A]
def mapConserve [B >: A <: AnyRef] (f: (A) ? B): List[B]


scala> list map (x=>x)
res105: List[Int] = List(1, 2, 3, 4, 5, 6, 7, 8, 9, 10)

scala> list mapConserve (x=>x)
<console>:12: error: inferred type arguments [Int] do not conform to method mapConserve's type parameter bounds [B >: Int <: AnyRef]
              list mapConserve (x=>x)
                   ^
Run Code Online (Sandbox Code Playgroud)

mapConserve代码应该满足(A)=> A函数.如果不是,它仍然应该满足(A)=> B函数,因为类型A可以是其自身的子类型和超类型.请赐教mapConserve的目的和错误.

scala

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

将无形hlist类型F [T1] :: ... :: F [Tn] :: HNil映射到类型T1 :: ... :: Tn :: HNil(类型级别排序)

我正在构建一个泛型函数,它接受一个HList表单F[T1] :: ... :: F[Tn] :: HNil,将其转换为a F[T1 :: ... :: Tn :: HNil]然后需要将其传递到传入的块中.但是,为了使其工作,我需要提取HList类型那个F[_].我在Shapeless'找到了一些与之相关的东西hlistconstraints:

/**
 * Type class witnessing that every element of `L` has `TC` as its outer type constructor. 
 */
trait UnaryTCConstraint[L <: HList, TC[_]]
Run Code Online (Sandbox Code Playgroud)

...但这只能用于验证传入的hlist确实是由...组成的F[_]; 然而似乎没有办法提取那个_位,以便对自己的hlist说.

我应该在哪里寻找能够找到工作的东西?或者我不应该期望找到任何开箱即用的东西,而是自己构建类型计算?

披露:这个问题是对包含一些F [_]的元组/ hlist的通用转换/折叠/映射的辅助,但在我看来,它至少与独立问题一样有用.

scala type-level-computation shapeless

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

Haskell应用成语?

我是Haskell的新手,并且对如何以最惯用和最清晰的方式表达一些操作感到困惑.目前(还会有更多)我很困惑<*>(我甚至不确定该怎么称呼).

例如,如果我有,比方说

f = (^2)
g = (+10)
Run Code Online (Sandbox Code Playgroud)

作为代表性的功能(实际上它们更复杂,但关键在于它们是不同的和不同的),然后

concatMap ($ [1,2,3,4,10]) [(f <$>), (g <$>) . tail . reverse] 
Run Code Online (Sandbox Code Playgroud)

concat $ [(f <$>), (g <$>) . tail . reverse] <*> [[1,2,3,4,10]]
Run Code Online (Sandbox Code Playgroud)

完成同样的事情.

是其中一个更惯用的Haskell,是否有人暗示Haskell经验丰富的读者,而另一个则不然.也许有更多(更好)的方式来表达完全相同的东西.这两种方法之间是否存在概念上的差异,像我这样的新手Haskeller可能会丢失?

haskell idioms

8
推荐指数
2
解决办法
231
查看次数

Haskell:如何将接口与实现分开

我知道有两种方法可以将接口规范与Haskell中该接口的实现分开:

  1. 类型类,例如:

  2. 记录,例如:

问题1:什么时候适合使用其中一种?

问题2:在Haskell中分离接口/ impl有哪些其他方法?

polymorphism haskell interface typeclass

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