小编jam*_*her的帖子

Haskell cabal:我刚刚安装了软件包,但现在找不到软件包了

在这里我唯一的原因是我cabal发现GHC没有找到我正在安装的软件包:

全局安装软件包时会发生这种情况,并且以前的软件包是在本地安装的.请注意,cabal-install默认安装在本地[...]

据推测,"本地安装"意味着将包装放入~/.cabal/.第一个问题:全球安装在哪里?

我一直在cabal使用sudo,所以我猜这是一个全局安装?我之所以这样做是因为它在没有运行时会抱怨权限sudo,所以这与"默认情况下cabal-install install"这句话相矛盾.第二个问题:如何在本地安装以及如何全局安装?

试图修复这个烂摊子,我一直在随机使用sudo ghc-pkg unregister并随机删除~/.cabal/.因此,我的包树可能已破坏,可能是本地和全局的.第三个问题:我该如何重新开始?


编辑:我正在运行Ubuntu 10.10.我安装了Haskell Platform 2011.

haskell cabal

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

如何在Python中构建UTC`datetime`对象?

我正在使用Python标准库中datetime.datetime.我希望使用UTC时区构造此类的实例.要做到这一点,据我了解,我需要通过作为tzinfo参数传递给datetime构造函数的一些实例tzinfo.

tzinfo课程的文档说:

tzinfo是一个抽象基类,意味着不应该直接实例化此类.您需要派生一个具体的子类,并且(至少)提供您使用的tzinfo方法所需的标准方法的实现datetime.该datetime模块不提供任何具体的子类tzinfo.

现在我很难过.我想做的就是代表"UTC".我应该能够使用大约三个字符来做到这一点,就像这样

import timezones
...
t = datetime(2015, 2, 1, 15, 16, 17, 345, timezones.UTC)
Run Code Online (Sandbox Code Playgroud)

简而言之,我不打算做文档告诉我的事情.那么我的替代方案是什么?

python timezone datetime

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

WEBRTC STUN stun.l.google.com:19302

我刚刚下载了一个视频聊天项目.它使用STUN服务器并指定URL stun:23.21.150.121.如何使用自己的服务器而不是STUN服务器?我需要输入什么而不是此URL?

stun node.js webrtc

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

Haskell Cabal:"包间接取决于同一包的多个版本"

清除所有cabal installed包后,我在以下会话中运行:

$ cabal update
Downloading the latest package list from hackage.haskell.org
james@bast:~/.cabal/packages$ cabal install cabal-dev
Resolving dependencies...
Downloading cabal-dev-0.9.1...
[1 of 1] Compiling Main             ( /tmp/cabal-dev-0.9.124882/cabal-dev-0.9.1/Setup.hs, /tmp/cabal-dev-0.9.124882/cabal-dev-0.9.1/dist/setup/Main.o )
Linking /tmp/cabal-dev-0.9.124882/cabal-dev-0.9.1/dist/setup/setup ...
Configuring cabal-dev-0.9.1...
Warning: This package indirectly depends on multiple versions of the same
package. This is highly likely to cause a compile failure.
package containers-0.4.2.1 requires array-0.4.0.0
package Cabal-1.14.0 requires array-0.4.0.0
package text-0.11.1.13 requires array-0.4.0.0
package deepseq-1.3.0.0 requires array-0.4.0.0
package containers-0.4.2.1 requires array-0.4.0.0
package HTTP-4000.2.2 requires …
Run Code Online (Sandbox Code Playgroud)

dependencies haskell package cabal cabal-install

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

用于图形的Javascript库(在数学意义上)

是否有任何重要的Javascript库用于图形和网络表示,具有通用算法,优化等?我正在想象像C++柠檬库这样的东西,有图搜索,最短路径,最大流量等等.

Google绘制了一个空白,因为结果完全充斥着图形和图表绘制库.

javascript networking graph shortest-path

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

(在Ruby中)允许混合类方法访问类常量

我有一个定义了常量的类.然后我定义了一个访问该类常量的类方法.这很好用.一个例子:

#! /usr/bin/env ruby

class NonInstantiableClass
    Const = "hello, world!"
    class << self
        def shout_my_constant
            puts Const.upcase
            end
        end
    end

NonInstantiableClass.shout_my_constant
Run Code Online (Sandbox Code Playgroud)

我的问题出现在尝试将此类方法移出到外部模块,如下所示:

#! /usr/bin/env ruby

module CommonMethods
    def shout_my_constant
        puts Const.upcase
        end
    end

class NonInstantiableClass
    Const = "hello, world!"
    class << self
        include CommonMethods
        end
    end

NonInstantiableClass.shout_my_constant
Run Code Online (Sandbox Code Playgroud)

Ruby将方法解释为从模块而不是类中请求常量:

line 5:in `shout_my_constant': uninitialized constant CommonMethods::Const (NameError)
Run Code Online (Sandbox Code Playgroud)

那么,你的伙伴们有什么神奇的技巧让方法访问类不变?非常感谢.

ruby module class constants class-method

12
推荐指数
3
解决办法
3685
查看次数

多个文件包如何在golang中运行?

这个 repo有3个go文件都以"package lumber"开头.要使用这个包,我应该把它放在我的GOROOT简单

import lumber
Run Code Online (Sandbox Code Playgroud)

在我的程序中.此包中的变量和类型如何跨多个文件相互连接?go编译器如何知道首先要读取哪个文件?

如果我想阅读包,我应该在哪里开始阅读以了解包装?这里的事情到底是什么?

flow package go

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

如果xargs是map,那么什么是过滤器?

我认为是xargsUNIX shell的map函数.功能是什么filter

编辑:看起来我必须更明确一点.

假设我必须提交一个接受单个字符串作为参数的程序,并返回退出代码0或1.该程序将作为它接受的字符串的谓词.

例如,我可能决定将字符串参数解释为文件路径,并将谓词定义为"此文件是否存在".在这种情况下,程序可以是test -f,给定一个字符串,如果文件存在则退出0,否则退出1.

我还必须交出一串串.例如,我可能有一个~/paths包含的文件

/etc/apache2/apache2.conf
/foo/bar/baz
/etc/hosts
Run Code Online (Sandbox Code Playgroud)

现在,我想创建一个新文件,~/existing_paths只包含我文件系统中存在的那些路径.就我而言,那就是

/etc/apache2/apache2.conf
/etc/hosts
Run Code Online (Sandbox Code Playgroud)

我想通过读取~/paths文件,通过谓词过滤这些行test -f,并将输出写入来完成此操作~/existing_paths.通过类比xargs,这看起来像:

cat ~/paths | xfilter test -f > ~/existing_paths
Run Code Online (Sandbox Code Playgroud)

这是xfilter我正在寻找的假设程序:

xfilter COMMAND [ARG]...
Run Code Online (Sandbox Code Playgroud)

对于L其标准输入的每一行,将调用COMMAND [ARG]... L,如果退出代码为0,则打印L,否则不打印任何内容.

要明确,我不是在寻找:

  • 一种过滤存在的文件路径列表的方法.这是一个具体的例子.
  • 怎么写这样的程序.我能做到.

正在寻找:

  • 一个预先存在的实现,比如xargs,或
  • 明确解释为什么不存在这一点

shell map filter xargs

12
推荐指数
3
解决办法
1862
查看次数

Haskell:为什么多行让表达式出现语法错误?

鉴于以下内容,

module Foo where

main = do
  let foo = case 0 of
    0 -> 4
  return ()
Run Code Online (Sandbox Code Playgroud)

GHC坚持认为我有语法错误:

Make.hs:5:5: parse error (possibly incorrect indentation)
Run Code Online (Sandbox Code Playgroud)

为什么?我已经使用了Haskell一段时间了,它看起来对我来说是正确的.

haskell syntax-error

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

Visual Studio Code中的“ git add”在哪里?

在Visual Studio Code中,Cmd-Shift-P为我提供了命令面板。调色板中列出了许多Git命令,但是“添加”的唯一结果是“将文件添加到.gitignore”。这不是我想要的。我想要相当于git add $CURRENT_FILE。例如,通过Atom的git-plus扩展提供了这样的命令。在Visual Studio Code中等效的是什么?

git visual-studio-code

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